Zend框架多个模块与管理


Zend Framework multiple modules with admin

我目前正在计划一个相当大的项目,将分为4个模块。

  • 核心模块(默认)-管理ACL, Auth和其他模块之间的关系
  • Sections -将分离应用程序的不同部分,并将作为时间轴/进度条(根据进度锁定和解锁部分)
  • CMS -将提供全局内容和部分特定内容
  • 考试

对于这些模块,我将不得不开发一个后端来编辑内容/权利等。创造这些的最好方法是什么?

现在我看到两个选项(可能有更多):

  1. 构建带有模块和控制器的前端,并在模块内创建带有admin_前缀的控制器
  2. 为每个模块创建其他模块,如:core, core_admin, sections, sections_admin等

这取决于你想让你的模块松散耦合的程度。

如果模块本身永远不会在项目之间移动,admin模块可能是最简单的解决方案。这样做的缺点是admin模块将与其他模块紧密耦合。这是你描述中最合乎逻辑的方法。

如果你想让它们松散耦合,像你提到的那样创建单独的模块可能是你最好的方法。

或者,如果没有很多东西需要管理,您总是可以简单地在每个模块中创建一个AdminController,并为所有不同的管理任务设置单独的操作。但是,随着项目的增长,这会变得很混乱。

对于任何松耦合的选择,你可能想看看使用Zend Regex路由器,这样你就可以提供一个更一致的路由到你的管理界面。