【发布时间】:2019-07-10 20:32:01
【问题描述】:
在我的公司,我有一个带有 Yii2 框架 (MVC) 的应用程序,分为前端和后端,有些人使用前端,有些人使用后端。现在我需要(由于用户的完整性和易于访问的原因)将所有内容集成到前端(仅将后端留给管理员)。
例如,我有一个像“呼叫中心”这样的模块,其中只有 电话接线员将电话保存在后端。 因此,在前端(具有不同的布局、权限、字段、过滤器等),其他用户可以查看、编辑和处理您的调用。 现在我需要将模块“呼叫中心”从后端(只有电话接线员可以访问)传递到前端。
组织我的代码的最佳方式是什么? 我想为来自后端的解码代码分配一个“后缀”,并像这样组织我的代码:
控制器
CallCenterController.php
CallCenterAdmin.php
观看次数
call-center
index.php
view.php
call-center-admin
index.php
view.php
form.php
这是正确的吗? 或者最好的解决方案是一个控制器和一个带有“呼叫中心”模块视图的文件夹? 我的目标是轻松更改权限、布局、可见字段、过滤器等。
【问题讨论】:
-
你用什么来获取权限?
AccessControl还是 RBAC?如果您希望将控制器和视图移动到前端,您需要做的就是将控制器的命名空间从backend\controllers更改为frontend\controllers并且如果您在后端有models文件夹,您需要要移至frontend\models或common\models,您也需要对模型执行相同操作,并更改在任何地方使用的模型的use语句 -
@MuhammadOmerAslam 我同时使用 AccessControl 和 RBAC。我看到了一些问题,1º 已经在前端和后端都有名为“call-center”的视图文件夹(为此我建议添加后缀),2º 我需要在后端维护模块 call-center(供管理员访问) ,不仅移动到前端。顺便说一句,我尝试将命名空间从
backend\controllers更改为frontend\controllers并收到错误消息“未找到 (#404)” -
只需使用建议的名称创建一个新模块并完成它。还要花时间更正所有命名空间和使用语句。
-
@Serghei Leonenco 在您的建议中,我的应用程序将是:
frontend\controllers和视图(以及我在前端已经拥有的所有代码)和frontend\modules\management(所有代码都来自后端、控制器和意见)对吧? -
是的,没错
标签: model-view-controller yii2 reorganize