## 控制器继承 home(前台)模块继承 `app\common\controller\Home` (你可以在该类中定义你自己项目前台的公共代码); run(后台)模块继承 `app\common\controller\Run`(你可以在该类中定义你自己项目后台的公共代码); manage(用户)模块继承`app\common\controller\Manage`(你可以在该类中定义你自己项目用户的公共代码)。 ## 控制器创建 首先,控制器的创建肯定需要遵循thinkphp的相关规则。 前台控制器创建: ~~~ namespace app\home\controller; use app\common\controller\Home; class Album extends Home { } ~~~ 如果你的控制器要自己定义初始化方法initialize,一定要调用一次父级的初始化方法(<span style="color:red;">我们在重写其它方法的时候,也同样要考虑是否需要调用父级方法</span>),以避免父级代码的丢失。 ~~~ namespace app\home\controller; use app\common\controller\Home; class Album extends Home { public function initialize() { //你的代码可能在这里 call_user_func(array('parent',__FUNCTION__)); //parent::initialize(); //你的代码可能在这里 } } ~~~ 后台控制器创建: ~~~ namespace app\run\controller; use app\common\controller\Run; class Album extends Run { public function initialize(){ call_user_func(array('parent', __FUNCTION__)); } } ~~~ 当然,你可以借助后台“创建控制器”功能,快速的创建一个基础的控制器出来。 ![](https://box.kancloud.cn/4970f4e91e5518c33866331cf3268a89_847x437.jpg)