1

我有以下代码,但它似乎不想链接工作。

 $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,所以即使我得到了视图,它在 var 应该在哪里出现错误?两种方法都是公开的?

感谢您

4

1 回答 1

5

是否setData()返回视图对象(即它return $this;有线)?如果不是...如果您希望它以这种方式工作,那么它应该。

供进一步参考。这种技术被称为“流利的界面”,并在此处描述:http: //www.martinfowler.com/bliki/FluentInterface.html

于 2013-02-27T21:48:41.087 回答