是否可能(以及如何?)将应用程序划分为后端(管理部分)和前端(用户部分)部分?

时间:2014-06-01 13:43:40

标签: php zend-framework2

我正在使用zend框架2开发Web应用程序。在我的应用程序中,我想要一些模块。新闻,例如用户等。

是否有可能将整个应用程序划分为两大部分:前端(针对用户)和后端(针对管理员)。

在前端会有新闻模块的一部分,它会呈现新闻列表,完整的新闻项目等。 在后端会有部分新闻模块,它将呈现所有新闻列表,编辑,删除等工具。

目前,我的结构很简单:

enter image description here

我有MyZfcAdmin模块,路由已配置,所以当我写/admin/news/edit/5时,它会调用NewsController edit动作id 5并渲染它。所以现在,我在一个控制器中拥有所有操作(对于管理员和用户)。是否有可能创建这样的东西:

module
    frontend
        News
        SomeMoreModule
    backend
        News
        SomeMoreModule

我在谷歌问题上找到了主题,建议使用this CMS,但我想自己尝试一下。

2 个答案:

答案 0 :(得分:0)

不同的人在管理应用程序时有不同的想法,对我来说,我将有新闻模块处理所有新闻相关的调用管理部分和用户可访问的部分。您所描述的想法有一些副作用,例如模块之间的代码重复和隔离模块之间的边界交叉,例如在另一个模块中调用操作(如果存在相关或层次结构,则可以),这可能会导致长期维护申请。

恕我直言可能我建议您可以创建新闻,用户等模块,它可以具有管理和用户访问的组合功能。您可以稍后使用引导事件包含用户授权插件,并限制管理员和其他用户可访问的操作

答案 1 :(得分:0)

任何模块内都没有子模块的概念。但是你可以给他们正确的命名对话。如果代码没有在oops中正确形成,则可能会在项目中出现代码重复。根据@ raj的回答,最好根据用户角色给出限制。如果任何操作不与管理员和用户角色相交,那么您可以将这些操作分开,但添加或编辑新闻内容等操作对于这两个角色都是相同的,那么您应该指向路由器的相同操作。