我在各个模块目录内引导我的应用程序Zend_Application_Module_Bootstrap
。我如何要求首先执行另一个模块引导程序中的资源?如何在Zend Framework 1的另一个模块的引导程序中执行模块引导资源?
// app/modules/user/Bootstrap.php
class User_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initUser()
{
}
}
// app/modules/author/Bootstrap.php
class Author_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initAuthor()
{
$this->bootstrap('user'); // Fatal: Resource matching 'user' not found
}
}
你确实明白,所有引导文件中的所有内容都会被混合在一起并且执行每个请求? ZF1明智的做法是只将资源放入需要执行的引导程序中。我们把很多东西放到引导程序中可能会更好,因为插件或一个条带或另一个条带的助手。对不起,没有足够向下滚动:) – RockyFord 2013-04-10 11:53:13
@RockyFord是的,我想我会坚持插件,并听取routeStartup。我想尽快识别用户,因为那样我会根据他们的角色添加样式表/脚本。你觉得自举中的任何条件逻辑(除了检测环境)是一个坏主意吗? – danronmoon 2013-04-10 12:19:53
如果你需要引导中的东西,那么你需要它。只要意识到潜在的成本。为了根据用户角色加载资源,您可能能够将该特定逻辑合并到ACL插件中(具体取决于您如何执行ACL)。如果您想加载用户资源,您可能需要等待'routeShutdown'或'preDispatch',以便确定用户,不要担心在整个调度循环完成之前不会显示任何内容。 – RockyFord 2013-04-13 11:22:19