这些方法都有一些相同的代码,应该放在哪里,然后才能引用,admin控制器吗?怎么引用呢
12 回答

慕桂英3389331
TA贡献2036条经验 获得超8个赞
private function common()
{}
public function index()
{
$this->common();
}
public function special()
{
$this->common();
}
没有找到匹配的内容?试试慕课网站内搜索吧

呼唤远方
TA贡献1856条经验 获得超11个赞
1楼提供的方法确实是一种解决方案。适合不同控制器中重复代码是一个功能性的内容,比如从第一行执行到共同部分最后一行只想得到一个结果的场景,如果不是功能性的内容,重复部分代码执行过程中的数据都需要用到,那么用1楼的方法需要返回重复部分代码执行过程中的所有数据。不知道这样说理解不。
另外一个方法是TP本身就有前置加载,重复部分的内容也可以通过前置加载的方法去用。
第三种方法控制器继承。
反正这种问题解决方法不一而足,根据自己习惯去做就好。

呼啦一阵风
TA贡献1802条经验 获得超6个赞
传统的mvc三层逻辑有很大的局限性,就是一些逻辑,特别是数据处理部分放到控制层和模型层都不合适。所以我一般就如 @xialeistudio 所言,再加一个server层,用来处理数据、通用逻辑等
现在的主流web项目基本也是这样

BIG阳
TA贡献1859条经验 获得超6个赞
其实很多种方法啦,主要是把这块代码单独抽出来,比如可以在common的function文件里定义一个方法,然后把这块代码丢进去。一般公共用到的都可以封装成一个函数放在function。减少代码的冗余!也可以建一个Logic层,放到Logic文件里。在控制器需要用到的时候直接调用就可以了。
- 12 回答
- 0 关注
- 850 浏览
添加回答
举报
0/150
提交
取消