关于新建Base.php是否有必要的问题。。。。

thinkphp5中不是有公共common类吗?而且默认APP下也有common类定义,若模块下没有common则继承APP下的,在控制器模块下建立common.php文件以后可以不需要引用,直接继承。。。而且也很好控制,减少代码。。。新建Base有点点多此一举了不是吗?请老师解惑!!

提问者A.zl源自课程:模板分离与公共文件的导入:为模板继承做好...提问时间:2017-09-09 22:03我来回答
1回答
ringa_lee
回复ringa_lee赞同01星期前

肯定是有必要的,很多公共的操作得写在base.php文件中,比如说登录,你就在base.php文件中给个判断就行了,就不用在其他子类的控制器再去验证有没有登录,你要把登录验证写在公共common类中,就要在每个控制器中都要验证一次。那就和面向过程开发没什么区别了,体验不出来面向对象开发的意义。

  • A.zl
    没明白你的意思,公共验证写在common类中本身没有问题啊,比如说登录验证,对于后台来说,只有2种状况,一个是登录了,另一个是没登录,那就可以这样写(代码如下) $request = request(); if($request->path()=='admin/user/login'){ if(session('admin.admin_id')){ $this -> error('您已经登录了!','index/index'); } }else{ if(!session('admin.admin_id')){ $this -> error('您还未登录!','user/login'); } } 这样写也没有问题啊!而且还省却了在每个控制器类里添加use app\admin\common\base;的必要,毕竟公共类的意义就是大家都用的类啊,那既然thinkphp里已经做了这个处理,那新建base.php文件的必要性就有待商榷了。。毕竟代码越多调用越多,那么问题也就会越多,不知对否!。。。