Codeigniter My_控制器错误,默认对象为空值
我的问题是,我使用的php版本5.4将在我的控制器中出现此错误,请看下面的屏幕截图 但在php版本5.3下没有问题 这是我的密码Codeigniter My_控制器错误,默认对象为空值,codeigniter,Codeigniter,我的问题是,我使用的php版本5.4将在我的控制器中出现此错误,请看下面的屏幕截图 但在php版本5.3下没有问题 这是我的密码 <?php class MY_Controller extends CI_Controller { function __construct() { parent::__construct(); $data->the_leave_data = $this->leave_data(); <-
<?php
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
$data->the_leave_data = $this->leave_data(); <--- line 8 is here
$this->the_leave_data = $data->the_leave_data;
$this->load->vars($data);
}
function leave_data()
{
$data = array();
$this->load->model('leave_data_model');
$staff_id = $this->session->userdata('staff_id');
if($query = $this->leave_data_model->get_by('staff_id',$staff_id))
{
$data['leave_data_records'] = $query;
}
var_dump($data);
return $data;
}
}
?>
你知道怎么解决吗?谢谢意思是
$this->leave_data()代码>为空
我看不到任何地方,在你的控制器中加载数据。如果您在其他地方定义它,那么它将从CI\u Controller
中加载。。。你应该做parent::$this->leave_data()代码>您使用的是PHP5.4吗?
PHP5.4有严格的标准。您需要将$data声明为stdClass的对象:
$data = new stdClass();
$data->the_leave_data = $this->leave_data();
这很可能是CodeIgniter中的一个弃用错误,请直接向他们报告这一问题,是否有任何解决方案?据我所知,这似乎只是新版本php的一个问题。一切似乎都很好,但仍然让人恼火的是,到处都会出现这个错误。我想我现在就把错误报告关了……嗨,w0rldart,谢谢你的回复,我得到了var_dump$data,它有返回值,但它仍然有错误,所以你说var_dump$data)代码>在第八行之后,输出值?是的,我已经更新了我的帖子,请看一下var_dumpHave中的返回值,使用$data
作为数组,而不是对象?
$data = new stdClass();
$data->the_leave_data = $this->leave_data();