【发布时间】:2011-09-20 11:24:34
【问题描述】:
我必须使用 Zend Framework 开发一个 CMS,并且我使用了在我的 boostrap 中定义的默认命名空间作为我的后端:
autoloaderNamespaces[] = "Application_"
现在我想开发前端,但我不知道怎么做,因为我可以从/public/ 目录访问我的后端。
然后我想为我的前端使用不同的布局,而不是用于后端访问的布局。所以我找到了this post,但我不知道我是否必须更改/添加(然后如何更改)我的后端模块,或者我是否必须创建第二个用于我的前端的模块
我的文件树是这样的:
那么如果我创建一个frontend 模块,我应该在application 目录旁边创建一个frontend 目录吗?
编辑:我在应用程序目录旁边创建了两个目录pub 和frontend。在pub/index.php 中,我使用application/configs/application.ini 文件和不同的APPLICATION_FRONT_ENV 实例化了引导程序:
[frontprod : production]
bootstrap.path = APPLICATION_FRONT_PATH "/bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_FRONT_PATH "/controllers"
autoloaderNamespaces[] = "Frontend_"
resources.layout.layout = "layout"
resources.layout.layoutPath = APPLICATION_FRONT_PATH "/layouts/scripts"
[frontdev: frontprod]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
在frontend/bootstrap.php 中,我从applicationdirectory 加载了模型:
public function _initAutoloader(){
$baseAutoload = new Zend_Loader_Autoloader_Resource(array(
'namespace' => 'Application',
'basePath' => realpath(dirname(__FILE__).'/../application')
)
);
}
而且它似乎工作正常 =) 谢谢!
【问题讨论】:
标签: model-view-controller zend-framework layout frontend backend