PHP-如何在Codeigniter的自定义库文件中使用get_instance()

这是我在codeigniter的库文件夹中的自定义类

class Commonlib {

        public function __construct()
        {      
                 $ci=& get_instance();
                 $ci->load->database();
        }
           function getcountries(){

                return  $ci->db->get("countries")->result();
            }
                function cities(){ 
                return  $ci->db->get("cities")->result();
            }
    }

这是我的看法

$results=$this->commonlib->getcountries();
   foreach ($results as $row)
   { 
       echo '<a   href="#">'.$row->country .'</a><br>';
   }

错误是严重性:通知消息:未定义的变量:ci
如何在库构造函数中加载数据库

解决方法:

试试下面的代码.建议进行一些更改

class Commonlib {
    private $ci;
    public function __construct()
    {      
             $this -> ci=& get_instance();
             $this -> ci->load->database();
    }
       function getcountries(){

            return  $this -> ci->db->get("countries")->result();
        }
            function cities(){ 
            return  $this -> ci->db->get("cities")->result();
        }
}

注意:在您的旧代码中,__ construct()方法中的$db仅在该方法中具有作用域.为了在整个类中全局获取ci对象,我使用了$this.

上一篇:PHP-如何在Codeigniter 4中自动加载帮助器功能


下一篇:php-在Ubuntu上禁止CodeIgniter错误403访问