我有以下代码,但它似乎不想连接工作。
$this->view->setData($class_vars);
$this->view->render('addview');
上述工作并运行正常,但是当我尝试执行以下操作时:
$this->view->setData($class_vars)->render('addview');
我收到以下错误:
致命错误:在....中的非对象上调用成员函数render()
但奇怪的是,当我用另一种方式称呼它时:
$this->view->render('addview')->setData($class_vars);
它运行,但是我需要首先运行setData,因为这会为实际视图设置var,所以即使我得到了视图,它的变量应该是vars应该是什么?这两种方法都是公开的吗?
谢谢你
答案 0 :(得分:5)
setData()
是否会返回视图对象(即它有return $this;
行)?如果不是......那么如果你想让它以这种方式工作,那就应该好了。
供进一步参考。这种技术称为“流畅的界面”,在此描述: http://www.martinfowler.com/bliki/FluentInterface.html