0

I'm trying to build a simple content management system based on the Zend Framework 2. The problem is that I don't know how should the folders structure be like.

Until now I have to solutions in mind:

A. Building a general "Admin" module that has multiple controllers like Login Controller, Pages Controller, Posts Controller, each of this controller with his own actions.

B. Building an module for each component, like: Pages Module that has an adminController an an frontendController.

I'm sure that none of the above solution is the corect one, but couldn't find any solid solution or books to provide one. I've taken a look at gotCMS but noticed that this one i.e, saves all the data like layout views in the database, and this is not a solution.

4

2 回答 2

1

虽然它是第一个 alpha 解决方案,但我在ensemble上工作,我更愿意称之为内容管理框架

Ensemble 的管理员在 ZfcAdmin 上运行。因此,您可以放入一个博客模块,该模块在 ZfcAdmin 的路由下只有一个管理控制器。但您也可以使用导航页面结构管理页面(如文本)。所有内容部分(文本、博客等)都是独立的模块。

所以我建议您看一下示例应用程序,您也可以查看我们的博客,它只是与 ensemble 挂钩。我知道目前文档稀缺,但如果我们达到某种 beta 稳定性,我们将更多地关注文档。

“您的系统 B”的主要好处是您可以在需要时插入模块。它们都提供了自己的配置、控制器、模型和视图。从开发人员的角度来看,安装它们很容易(在 composer 中加载,在应用程序配置中启用),您可以轻松地用自己的视图覆盖任何视图。

TL;DR:选择结构 B 并查看 Ensemble。

/编辑:看到你评论山姆的回答:是的,你必须这样做。在 ensemble 中,您为前端指定一个路由配置,并将您的管理路由创建为 ZfcAdmin 的子路由。对于前端和后端,您都有单独的控制器

于 2013-09-27T07:04:50.107 回答
0

构建新事物没有对错之分。就我个人而言,我会选择 B。我什至不会像你那样命名控制器(我会把它们分解得更多,比如 NewsAddController、NewsEditController、NewsDetailsController 等......)。然后我会有一个 AdminModule,它只会显示一个带有特定“AdminNavigation”的新布局。这个 AdminNavigation 可以通过其他模块填充(即 NewsModule 会通过 module.config.php 将它自己的管理路由注入到 AdminNavigation 中)

于 2013-09-27T06:27:28.550 回答