我第一次使用YII,我只需要一些一般意见。
如果我以User表为例,我将让用户从前端注册,但我也将从管理后端管理用户,你会怎么做呢?
您是创建一个用户控制器并在两个视图中使用它,还是创建一个具有自己视图的UserController和具有自己视图的AdminUserController?
答案 0 :(得分:1)
您可能无需在所有地方重新创建模块。您只需将模块代码放在公共文件夹中即可。
1)如果您的模块配置对于前端和后端都相同 - 您可以在common / config / main.php中注册您的模块。这应该在前端和后端都可用。
2)如果前端和后端的模块配置不同 - 您可以在frontend / config / main.php和backend / config / main.php中单独注册模块。
<强>参考强>
答案 1 :(得分:0)
通常在高级yii2应用程序中,您有3个文件夹(前端,后端,通用),可用于存储所有模型,控制器,视图等。
如果我们需要一个用户模型用于应用程序的后端和前端部分,我们需要将此模型保存在公共文件夹中。它将为您提供从一个公共表获取前端和后端中的所有数据的机会。在模型本身中,你必须编写一些只在后端使用的方法(比如通过某些特定的参数搜索)和前端(比如投票给用户评论等)。
通常我有后端和前端的不同控制器(视图相同)和两者的通用模型。
答案 2 :(得分:0)
使用yii2高级 您可以将常用功能放在@common或其控制器或模型中。
然后在@backend或@frontend中,您可以从@common内部扩展类,并添加适合您需求的特定函数。
用于用户功能, 我建议使用dektrium/yii2-user扩展名,我在多个项目中使用它,它可以节省您的时间。它也有很好的记录。
尝试使用它。