#### 控制器繼承
前面是一個很簡單的例子,沒有繼承任何的類(這樣并沒有任何不對,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。