首頁  >  問答  >  主體

關於新建Base.php是否有必要的問題。 。 。 。

thinkphp5中不是有公用common類別嗎?而且預設APP下也有common類別定義,若模組下沒有common則繼承APP下的,在控制器模組下建立common.php檔案以後可以不需要引用,直接繼承。 。 。而且也很好控制,減少程式碼。 。 。新建Base有點點多此一舉了不是嗎?請老師解惑! !

A.zlA.zl2620 天前1125

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-09-11 17:15:12

    肯定是有必要的,很多公共的操作得寫在base.php檔案中,比如說登錄,你就在base.php檔案中給個判斷就行了,就不用在其他子類別的控制器再去驗證有沒有登錄,你要把登入驗證寫在公共common類別中,就要在每個控制器中都要驗證一次。那就跟過程導向開發沒什麼差別了,體驗不出來物件導向開發的意義。

    回覆
    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 appadmincommonbase;的必要,畢竟公共類別的意義就是大家都用的類別啊,那既然thinkphp裡已經做了這個處理,那麼新建base.php檔案的必要性就有待商榷了。 。畢竟程式碼越多呼叫越多,那麼問題就越多,不知對否! 。 。 。

    A.zl · 2017-09-11 17:24:25
  • 取消回覆