我意识到默认的目录结构Zend框架的模块式应用程序的手册。

/application
  /controllers
  /modules
    /admin
      /controllers
      /views
  /views
  /configs
/www
  index.php

但我想知道我为什么要做这种方式。它完美的应用,已默认的模块 /应用程序 与其他模块 /application/modules/:moduleName.这更是一个讨论问题比 帮助我 问题。

有哪些优点和缺点具有目录的结构是这样的:

/application
  /modules
    /admin
      /controllers
      /views
    /default
      /controllers
      /views
  /configs
/www
  index.php

从我的角度来看,唯一的缺点是,它不这样写在default/在手册。我看不到任何其他。我失去了一些东西?

甚至更多-我认为,这种结构应该是默认结构的任何新的苏的应用程序。我不知道为什么Zend开发者不会使用它。

有帮助吗?

解决方案

实际上,您建议的目录结构非常适合大型和复杂的应用程序。

Magento是当今世界上最好的开源电子商务解决方案,已经在Zend框架中编码,并使用类似的目录布局,这样就很容易扩展和添加新模块并管理旧模块。

对于简单的应用程序和学习Zend,我建议大家坚持使用默认的目录结构。

其他提示

我想这样是因为:

  • 有一种默认结构,这是使用时,没有模块中的应用(即,只有一个默认的模块--这意味着不需要一种"默认"目录)
  • 而且,那么,可以添加模块;而不必修改现有的结构。

它是一个解释不如任何其他的,我想。


仍然,如果开发一个应用程序,这将包含若干模块,并且知道这个从一开始,我可能会去的那种结构你的建议,并且不默认的一个^^

事情会更清楚的那样,在我看--我看不到任何问题!

(事实上,我已经这样一次,相当一段时间前,并没有遇到任何麻烦-但这不是一个"完整的"应用程序;更一个原型...)

实际上,这是 http://详细说明的选项之一framework.zend.com/manual/en/zend.controller.modular.html

你的方式听起来不错,ZF的重点是你可以自己选择如何管理。一个优点是代码略少。在Zend的默认方法中,您需要使用它:

$front = Zend_Controller_Front::getInstance();
$front->addControllerDirectory('/path/to/application/controllers', 'default');
$front->addModuleDirectory('/path/to/application/modules');

在您描述的方法中:

$front = Zend_Controller_Front::getInstance();
$front->addModuleDirectory('/path/to/application/modules');

只需要你。

Zend方法的一个优点是,如果您不需要模块,则无需运行addModuleDirectory()方法。使用您的方法,总是需要运行,可能会产生很小的开销。

此页面 http://framework.zend.com/manual /en/project-structure.project.html 声明具有默认控制器目录“在应用程序目录中提供了启动简单项目的最佳布局,以及启动具有全局控制器/模型/视图的模块化项目"

我想Zend的观点是,这适用于只有默认模块的简单站点和带有多个模块的更复杂的站点。解决模块/目录中的其他模块并不困难。但在一天结束时,这是个人偏好。

我对同样的问题感到困惑。但是我没有成功地正确设置它...... 为什么我要使用它是因为模块化结构与Zen_Application相结合,实例化了一个Module_Bootstrapper,它自动注册/ application / module / name / forms(以及控制器,视图,模型等)中的命名空间。

我遇到的唯一问题是摆脱'默认'模块:S

您可以在此处找到关于Zend论坛的主题: http:/ /forums.zend.com/viewtopic.php?f=69&t=2394&start=0

希望它会得到回答,我会把它发布在这里。

您可以在此处找到所需的架构: http://www.osebboy.com /博客/ Zend的框架模块/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top