ZendFramework模块

时间:2012-01-07 18:09:39

标签: php zend-framework

我遇到模块问题,我在网上搜索但是我无法使用它。

这是我的目录结构

Layout
application
  configs
  Modules
    default
        controllers
        models
        views
          helper
          scripts
             index
             error
        Bootstrap.php
    Bootstrap.php
docs
library
  DoctrineORM 2.1.5
test

我的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.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

resources.router.routes.home.route = /home
resources.router.routes.home.default.module = default
resources.router.routes.home.default.controller = index
resources.router.routes.home.default.action = index

[staging : production]

[testing : production]
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

My Bootstap.php(所有Bootstrap.php文件都相同)

class Bootstrap extends Zend_Application_Module_Bootstrap

}

我得到的只是一个空白页。

2 个答案:

答案 0 :(得分:0)

如果您的配置正在查看生产设置,请务必更改

phpSettings.display_errors = 1

在您的生产标签下

如果您的代码看起来与您发布的内容完全相同,那么您将缺少大括号

class Bootstrap extends Zend_Application_Module_Bootstrap
{
}

如果你得到一个空白页面,那么10次中有9次是因为display_errors没有打开。所以你没有看到上面的错误。

答案 1 :(得分:0)

在基于模块的ZF应用程序中,有两种不同类型的Bootstrap文件:应用程序引导程序和模块引导程序。应用程序目录中的此Bootstrap.php应如下所示:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {}

每个模块目录中的Bootrap.php应如下所示:

class ModuleName_Bootstrap extends Zend_Application_Module_Bootstrap {}

(ModuleName应替换为模块名称)。

建议定义默认模块名称以及默认模块是否具有名称空间前缀:

resources.frontController.defaultmodule = "example"
resources.frontController.params.prefixDefaultModule = 1

这告诉frontController默认模块是example,并且该模块中的所有类都以Example_为前缀。