一 控制器
ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的\think\Controller
类或者其他的控制器类。
\think\Controller 控制器的5个属性和8个方法
5个属性
1 视图类实例对象protected $view
class Index extends Controller
{
$this->view->assign('user','a');
$this->view->fetch();
}
2 请求类实例对象protected $request
class Index extends Controller
{
$this->request->ip(); //获取请求ip
}
3 验证失败是否抛出异常protected $failException = false
4 是否开启批量验证 protected $batchValidate
5 前置方法列表 protected $beforeActionList
指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法
['except' => '方法名,方法名'] //表示这些方法不使用前置方法,
['only' => '方法名,方法名'] //表示只有这些方法使用前置方法。
class Index extends Controller{
//first是所有方法的前置方法(其它方法在访问时会触发first方法)
//second是所有方法(除了hello方法)的前置方法(其它方法在访问时会触发second方法)
//three是hello,data方法的前置方法(hello,data方法在访问时会触发three方法)
protected $beforeActionList = [
'first',
'second' => ['except'=>'hello'],
'three' => ['only'=>'hello,data'],
];
protected function first(){}
protected function second(){}
protected function three(){}
public function hello(){}
public function data(){}
}
8 个方法:
1 构造方法 __construct()
2 初始化函数 __initiali