Bootstrap 的 Zend 模块未加载
Bootstrap of Zend Module is not loading
我刚开始使用 zend,所以这两天遇到了这个问题。我已经搜索了很多但仍然找不到任何解决方案。
可能与 Zend Module Bootstrap does not load 重复,但仍然无法解决我的问题。
在我的用户模块中,一切都运行完美,意思是模型 dbtables 控制器,但 Bootstrap。
我只想将与用户相关的路由添加到用户模块中 bootstrap 我也可以将它们添加到应用程序中 bootstrap 但我不想使它成为一个大文件。
我的 application/modules/User/Bootstrap.php
里有这个
class User_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initRouter() {
//does not work i think it should work
echo 'joo';
exit;
}
}
据我所知,每次当我们 运行 应用程序时,模块 运行 的所有引导程序,但在我的情况下,它似乎不起作用。
更新:
在我的 application/configs/application.ini 中:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
resources.db.adapter = "Mysqli"
resources.db.params.host = "xxxxx"
resources.db.params.username = "xxxxx"
resources.db.params.password = "xxxxx"
resources.db.params.dbname = "xxxxx"
resources.frontController.actionHelperPaths.Idispatch_Controller_Action_Helper = "Idispatch/Controller/Action/Helper/"
[staging : production]
[testing : production]
resources.cachemanager.database.frontend.options.caching = false
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Bootstrap 在我的应用程序目录中:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
protected function _initAutoloaders() {
//user module loader
new Zend_Application_Module_Autoloader(array(
'namespace' => 'User', 'basePath' => APPLICATION_PATH . '/modules/User'
));
}
}
注意:我使用的是 ZFW 1
我来这里问希望有人能帮助我。如果我做错了什么,请纠正我。这将是一个巨大的升值。
谢谢。
我在我的基本 ZF1 设置中做了一些测试,唯一不起作用的方法是文件名不是 Bootstrap.php
。就 Linux 而言,它也是区分大小写的。
正如您正确提到的那样,每次都会查看模块路径,exit()
在我的案例中有效。除了文件不存在或您说您已修复的配置中的拼写错误。
此外,您的主 bootstrap 中不应该需要自动加载器,但我检查过它不会导致此问题。
我刚开始使用 zend,所以这两天遇到了这个问题。我已经搜索了很多但仍然找不到任何解决方案。
可能与 Zend Module Bootstrap does not load 重复,但仍然无法解决我的问题。
在我的用户模块中,一切都运行完美,意思是模型 dbtables 控制器,但 Bootstrap。
我只想将与用户相关的路由添加到用户模块中 bootstrap 我也可以将它们添加到应用程序中 bootstrap 但我不想使它成为一个大文件。
我的 application/modules/User/Bootstrap.php
里有这个class User_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initRouter() {
//does not work i think it should work
echo 'joo';
exit;
}
}
据我所知,每次当我们 运行 应用程序时,模块 运行 的所有引导程序,但在我的情况下,它似乎不起作用。
更新:
在我的 application/configs/application.ini 中:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
resources.db.adapter = "Mysqli"
resources.db.params.host = "xxxxx"
resources.db.params.username = "xxxxx"
resources.db.params.password = "xxxxx"
resources.db.params.dbname = "xxxxx"
resources.frontController.actionHelperPaths.Idispatch_Controller_Action_Helper = "Idispatch/Controller/Action/Helper/"
[staging : production]
[testing : production]
resources.cachemanager.database.frontend.options.caching = false
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Bootstrap 在我的应用程序目录中:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
protected function _initAutoloaders() {
//user module loader
new Zend_Application_Module_Autoloader(array(
'namespace' => 'User', 'basePath' => APPLICATION_PATH . '/modules/User'
));
}
}
注意:我使用的是 ZFW 1
我来这里问希望有人能帮助我。如果我做错了什么,请纠正我。这将是一个巨大的升值。
谢谢。
我在我的基本 ZF1 设置中做了一些测试,唯一不起作用的方法是文件名不是 Bootstrap.php
。就 Linux 而言,它也是区分大小写的。
正如您正确提到的那样,每次都会查看模块路径,exit()
在我的案例中有效。除了文件不存在或您说您已修复的配置中的拼写错误。
此外,您的主 bootstrap 中不应该需要自动加载器,但我检查过它不会导致此问题。