Zend framework 包括带有ZendFramework库的模块
我想为我公司的ZendFramework和Doctrine安装一个分析器。现在,我在底部有一个栏,在开发环境中显示,它提供了一些基本的计时和查询计数(很像Symfony profiler栏)。我想做的是将所有这些信息和更多信息存储在SQLite数据库中,并允许在Symfony允许的探查器中查看这些信息 有没有一种方法可以让我在公司的库中包含一个模块,该分析器的所有代码都可以放在这个模块中?理想情况下,我希望它的设置使开发人员可以键入“domainname.com/CompanyProfiler”,并向他们显示全屏分析器。目前看来,我还没有办法在没有新模块的情况下实现这种路由 编辑:在看到关于setControllerDirectory的答案后,我查看了front controller方法并找到了addModuleDirectory,这听起来正是我需要的。但我不能让它工作Zend framework 包括带有ZendFramework库的模块,zend-framework,zend-framework-modules,Zend Framework,Zend Framework Modules,我想为我公司的ZendFramework和Doctrine安装一个分析器。现在,我在底部有一个栏,在开发环境中显示,它提供了一些基本的计时和查询计数(很像Symfony profiler栏)。我想做的是将所有这些信息和更多信息存储在SQLite数据库中,并允许在Symfony允许的探查器中查看这些信息 有没有一种方法可以让我在公司的库中包含一个模块,该分析器的所有代码都可以放在这个模块中?理想情况下,我希望它的设置使开发人员可以键入“domainname.com/CompanyProfiler”
$frontController->addModuleDirectory(APPLICATION_PATH . '/../library/Company/modules');
如果在此之后执行getControllerDirectory,我会看到:
'profiler' => '{really long correct path}../library/Company/modules\profiler\controllers'
在“controllers”文件夹中,我有一个类名为IndexController.php的文件:
class Profiler_IndexController extends Zend_Controller_Action
但是如果我尝试转到URL“/分析器”,我会得到一个控制器未找到错误。有没有想过我做错了什么
如果我将错误转储到我的错误控制器中,我可以看到它显然正在尝试访问默认模块。如果我理解正确,您还想将控制器放在库中吗?如果是这样,您可以使用设置ZF查找所有控制器都在库中(或任何其他位置)的CompanyProfiler模块。如果我理解正确,您还希望控制器在库中吗?如果是这样,您可以使用设置ZF查找所有控制器都在库中(或任何其他位置)的CompanyProfiler模块。尝试通过在引导中放置以下内容向模块添加直接路由:
protected function _initRoutes()
{
$router = Zend_Controller_Front::getInstance()->getRouter();
// Route for profiler
$route = new Zend_Controller_Router_Route(
'profiler/:controller/:action/*',
array(
'module' => 'profiler',
'controller' => 'index',
'action' => 'index'
)
);
$router->addRoute('profiler', $route);
}
通过在引导中放置以下内容,尝试向模块添加直接路由:
protected function _initRoutes()
{
$router = Zend_Controller_Front::getInstance()->getRouter();
// Route for profiler
$route = new Zend_Controller_Router_Route(
'profiler/:controller/:action/*',
array(
'module' => 'profiler',
'controller' => 'index',
'action' => 'index'
)
);
$router->addRoute('profiler', $route);
}