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就可以了。