3.13之前好多項目都使用前後台公用類,在lib/action下創建Baseaction做為公共繼承類,發現3.2.2裡面很多人都用A調用,這樣每用一次要用A調用,好麻煩,小編特意偷懶。親測使用以下方法解決。歡迎加強
thinkphp3.2.2的這麼創建Application/Common/Controller/BaseController.class.php
1 <?php 2 namespace Common\Controller; 3 use Think\Controller; 4 /** 5 * 前後台公用基類 6 * modify author : Jack 7 * modify time : 2014-7-12 8 */ 9 class BaseController extends Controller{ 10 11 public function _initialize() {//全局變量 12 dump('基類'); 13 $this->cfg(); 14 } 15 }
在Home/Controller/ZixunController.class.php中
<?php namespace Home\Controller; use Common\Controller\BaseController; class ZixunController extends BaseController { public function index() { $result = $this->lists(); dump($result); } }
當然,在前後台還可以創建自己的基類,比如後台建AdminController.class.php繼承BaseController.class.php,前台創建HomeController.class.php繼承BaseController.class.php各自模塊繼承各自的基類,這樣項目可以更清晰,可以避免重復造輪子,省很多事情,但是必須注意的是每個類必須聲明命名空間,但是使用的資源可以在各自的基類中定義之後後面不用在寫一次。比如AdminController.class.php繼承BaseController.class.php,就不用再寫use Think\Controller了,直接使用use Common\Controller\BaseController就可以了。