#### 控制器继承
前面是一个很简单的例子,没有继承任何的类(这样并没有任何不对,5.0的控制器设计如此,事实上也非常高效),控制器可以继承系统内置的控制器基类`think\Controller`或者应用自己的控制器基类,来扩展更多的功能和方法。
继承系统控制器基类:
~~~
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function hello()
{
return 'hello,world';
}
}
~~~
系统控制器基类提供了一些额外的方法,我们会在后面陆续讲解。
或者自定义一个基础控制器类Base:
~~~
<?php
namespace app\index\controller;
use think\Controller;
class Base extends Controller
{
}
~~~
可以在Base控制器类中定义一些公共方法(如果对类的基本知识不够熟悉的话,参考PHP的类与对象部分说的非常清楚,在此不做深入了)。
然后应用下面的所有控制器类都继承Base:
~~~
<?php
namespace app\index\controller;
use app\index\controller\Base;
class Index extends Base
{
public function hello()
{
return 'hello,world';
}
}
~~~
建议给应用统一定义一个自己的控制器基类,方便后期扩展。
> PHP不支持多继承,如果需要继承多个类,可以通过引入trait。