如何为同一个类中的所有函数运行代码?

时间:2015-05-27 18:05:49

标签: php wordpress

这就是我的代码的样子:

public function __construct() {
    global $wpdb;
}

private function get_pagination() {
    $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM yc_customers WHERE $this->get_where" );
}

当我运行它时,我会收到此错误:

  

致命错误:在非对象

上调用成员函数get_var()

当我将global $wpdb;复制到我的get_pagination()函数时,我没有收到任何错误。我不想在我的所有功能中复制它。即使我在global $wpdb函数中有__construct,我为什么会收到此错误?

1 个答案:

答案 0 :(得分:1)

如果您想使用global并且您不想要,那么您可以执行以下操作:

private function get_pagination() {
    global $wpdb;
    $user_count = $wpdb->get_var( "SELECT COUNT(*) FROM yc_customers WHERE $this->get_where" );
}

但是你可以简单地在构造函数中传递变量,例如:

public function __construct($wpdb) {
    $this->wpdb = $wpdb;
}

private function get_pagination() {
    $user_count = $this->wpdb->get_var( "SELECT COUNT(*) FROM yc_customers WHERE $this->get_where" );
}

寻找“依赖注入”。