Codeigniter/PHP 为构造函数中的变量赋值


Codeigniter/PHP assigning a value to a variable in the Constructor

我想定义一个全局对象变量,我可以在控制器中的几个函数中使用,Items .

这是我的代码不起作用:

class Items extends CI_Controller {
 private $varname;
 function Items(){
  parent::__construct();
    $this->load->model('items_model');
    $folder_id=416;
    $this->varname=$this->items_model->getFilesById($folder_id);
 }
 function index(){
   var_dump($this->varname);    
 }
}

因此,当我转到 url 时,$this->varname不起作用:localhost/items/index打印输出是这样的:

array(0) { }

根据您的 PHP 版本,可能不会调用构造函数。尝试更改

function Items(){

function __construct(){

看看这是否能解决问题。

http://php.net/manual/en/language.oop5.decon.php 从 PHP 5.3.3 开始,与命名空间类名的最后一个元素同名的方法将不再被视为构造函数。此更改不会影响非命名空间类。

这可能是导致您的问题的原因。