2016-05-17 14 views
2

这里是库文件夹我的自定义类笨如何在自定义的库文件中的笨使用get_instance()

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 如何在库构造函数中加载数据库

+0

用'$ this-> CI'而不是'$ ci'尝试 – user4419336

+0

为什么你l在数据库中的数据库自动加载数据库autoload.php文件中, –

回答

2

请尝试下面的代码。也有一些变化提示

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(); 
     } 
} 

注:在你的旧代码$db__construct()方法具有范围在只有方法。为了全局获得ci对象,在整个班级中我使用了$this

+0

感谢兄弟现在工作 –

+0

@GhulamAbbas,很高兴帮助。请投票并接受答案.. :)所以其他人可以很容易地找到答案 – Arun

0

请尝试创建帮手

创建目录应用程序/佣工帮手/

layout_helper.php

function getcountries() 
{ 

    $CI = & get_instance();  
    return $CI->db->get("countries")->result(); 
} 

,现在该功能的使用是视图文件 这样的:

$result = getcountries(); 

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

我有城市,然后再写一次$ CI =&get_instance();因为你我有100个函数,然后再次写100行,但我想在整个文件中写入一行 –

相关问题