Zend模块的Bootstrap未加载

时间:2015-06-19 17:50:39

标签: php zend-framework autoload

我是zend的新手,所以我在过去的两天里遇到了这个问题。我搜索了很多,但仍然找不到任何解决方案。

Zend Module Bootstrap does not load可能重复,但仍然无法解决我的问题。

在我的用户模块中,一切都是完美的意义模型dbtables控制器,但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;
    }
}

据我所知,每次运行应用程序时都会运行所有模块的bootrap,但就我而言,它似乎并没有起作用。

更新:

在我的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

我来这里是为了希望有人能在这里帮助我。如果我做错了,请纠正我。这将是一个伟大的赞赏。

感谢。

1 个答案:

答案 0 :(得分:1)

我在基本的ZF1设置中做了一些测试,但这种方法不起作用的唯一方法是文件名不是Bootstrap.php。就Linux而言,它也是区分大小写的。

正如您所提到的那样,每次都会查看模块路径,exit()在我的情况下正在运行。除了文件不存在或配置中的拼写错误,你说你修复了。

此外,您不应该在主引导程序中使用自动加载器,但我检查过它并不会导致此问题。