我尝试创建新的stdClass但仍然没有,这段代码出错: 警告:从空值创建默认对象。
function __construct($params) {
parent::__construct($params);
//$this -> view -> controller = null;
$this -> view -> controller = new stdClass(); // <-- HERE IS ERROR
$this -> view -> controller = 'Index';
require_once 'models/_index_model.php';
$this -> model = new Index_model();
$action = 'News';
if(isset($params[1])){ $action = ucfirst($params[1]); }
$this->date = 'Today';
if(isset($params[2])) $this->date = ucfirst($params[2]);
$this->$action($this->date);
}
答案 0 :(得分:1)
问题是,变量$view
我不确定你想要实现什么,但是如果你像下面的例子那样实现它,代码应该可以工作:
function __construct($params) {
parent::__construct($params);
$this -> view = new stdClass(); // create a new stdClass object
$this -> view -> controller = 'Index'; // assign the controller value
// ... and so on
}
所以这里的主要问题是未声明变量$view
,或者它的值不是对象。
如果有更多问题,请随时在评论部分询问