ZF 2.4 - 控制器 - init()的替代品?

时间:2017-05-05 18:17:45

标签: zend-framework2

我在控制器中的所有action()上都有这两行,所以我想将它移动到init(),这样每次都会调用它。它没有用,所以我尝试了__construct并且它不会工作,因为它说" PHP致命错误:未捕获错误:调用成员函数get()on null"

也许这可以在工厂完成,你仍然在工厂类中调用getServiceLocator?如果我可以在控制器中做到这一点,那就更好了,因为这样做的步骤更少,是否可以在控制器中完成,所以每个动作都会有这个?

    $view_helper = $this->getServiceLocator()->get('viewhelpermanager');
    $view_helper->get('headScript')->appendFile(....);

1 个答案:

答案 0 :(得分:0)

为什么不编写自己的视图助手并将其包含在js文件中。然后,您可以在需要这些文件的所有view.phtml文件中使用它。如果您需要更改/添加/删除js文件,那么只需在您的视图助手中执行此操作,显然此更改将反映在您使用它的所有视图中。

这可以使视图远离控制器。

希望这有帮助。