Heim  >  Fragen und Antworten  >  Hauptteil

Bezüglich der Frage, ob es notwendig ist, eine neue Base.php zu erstellen. . . .

Gibt es in thinkphp5 keine öffentliche gemeinsame Klasse? Darüber hinaus gibt es unter der Standard-APP auch eine gemeinsame Klassendefinition. Wenn unter dem Modul keine gemeinsame Klasse vorhanden ist, wird diese von der APP geerbt. Nachdem die Datei common.php unter dem Controller-Modul erstellt wurde, kann sie direkt ohne geerbt werden Referenz. . . Es ist außerdem einfach zu kontrollieren und reduziert den Codeaufwand. . . Eine neue Basis zu erstellen ist doch etwas unnötig, oder? Bitten Sie den Lehrer um Klärung! !

A.zlA.zl2620 Tage vor1126

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-09-11 17:15:12

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

    Antwort
    0
  • 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文件的必要性就有待商榷了。。毕竟代码越多调用越多,那么问题也就会越多,不知对否!。。。

    A.zl · 2017-09-11 17:24:25
  • StornierenAntwort