然后我现在又想了一个办法,就是在application\common\logic,加了一个logic逻辑层目录。
然后在每个控制器对应的logic建立一个,一个一样的类也是继承model类。
例如user控制器,然后我在logic\user.php。打算把user的逻辑写到这里。
感觉好科学,好牛逼!然后我开始写啊写。我去,user控制器里面有个
public function reguser() 方法,这样前台提交注册给控制器,控制器再转交给,logic\user.php 的reguser()去处理逻辑。如果logic\user.php的reguser(),需要访问数据库,那就交给application\model\user.php 去取数据,写数据。
然后现在问题来了,当我写了一个一个注册步骤后,\logic\user.php 里面,关于reguser()的各种逻辑处理,用了一堆function辅助完成。导致\logic\user.php为了完成这一个任务,写了5-6个函数配合。
那如果user控制器,再来一个其他的业务,例如listuser(),我又要去\logic\user.php,里面写一个listuser(),函数。如果这个逻辑又复杂,再需要2-3个函数配合完成。这个logic\user.php,又开始乱了。
这怎么办呢?
我现在又想到一招,我把\logic\user.php,再次拆分。在logic文件夹下面建立一个user文件夹,如果需要reguser()业务,我就在\logic\user下面建立一个reguser.php文件,这个类专门处理reguser()业务。
如果再来个listuser()业务,我就在\logic\user\下再建立一个listuser.php,他就专门干listuser.php业务。
上面说的太啰嗦了,感觉一堆废话,在描述我的意思,其实就是下面这个意思。
controller\user.php
function reguser(){}
function listuser(){}
logic\user\reguser.php
logic\user\listuser.php
model\user.php
我这么做可以吗?我的理解是感觉比较清爽了。看某个业务逻辑,只要打开那个对应的业务逻辑文件,就可以看到全部。没有参杂其他的。 你们都怎么做的呢?
洋洋洒洒,废话太多了。
最佳答案