запросы внутри класса

Я создаю плагин, и я совершенно новый для wordpress. У меня есть класс, который содержит несколько методов, которые должны выполнять запросы к базе данных. Класс выглядит так, как следует

class MyClass{ private $wpdb; function __construct(){ global $wpdb; } function query(){ $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->wp_competitors ( id, field_key, field_value ) VALUES ( %d, %s, %s )",1, $field_key, $field_value) ); } } 

Я хотел бы иметь возможность использовать внутри класса классной базы Word класса WordPress, как это сделать?

Solutions Collecting From Web of "запросы внутри класса"

 class MyClass{ function __construct(){ global $wpdb; $this->db = $wpdb; } function query(){ return $this->db->query( $this->db->prepare("INSERT INTO {$this->db->wp_competitors} (id, ield_key, field_value) VALUES ( %d, %s, %s )", 1, $field_key, $field_value) ); } } 

Недостатком использования пользовательского свойства $db в вашем классе является то, что вы не сможете использовать его в статических методах, если вы когда-либо создавали некоторые. Два альтернативных подхода:

 class MyClass { public function query1() { global $wpdb; $wpdb->query('SQL'); } public function query2() { $GLOBALS['wpdb']->query('SQL'); } }