php官方文档
???
??
14.前置操作 例子: beforeActionList中引号中书写方法名称,不标注任何代表为所有前置用户 except:表示除这个方法以外 only :表示只有这个方法
namespace app\index\controller; use think\Controller; class Index extends Controller { protected $beforeActionList = [ 'first', 'second' => ['except'=>'hello'], 'three' => ['only'=>'hello,data'], ]; protected function first() { echo 'first<br/>'; } protected function second() { echo 'second<br/>'; } protected function three() { echo 'three<br/>'; } public function hello() { return 'hello'; } public function data() { return 'data'; } }thinkphp内置了两个跳转 1. this−>success(‘新增成功′,‘User/list′);2. this->error(‘新增失败’);//默认跳转至上一页面 默认等待为3s
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
public function _empty(){ }空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(Error),利用这个机制我们可以用来定制错误页面和进行URL的优化。
namespace app\index\controller; use think\Request; class Error { public function index(Request $request) { //根据当前控制器名来判断要执行那个城市的操作 $cityName = $request->controller(); return $this->city($cityName); } //注意 city方法 本身是 protected 方法 protected function city($name) { //和$name这个城市相关的处理 return '当前城市' . $name; } }空控制器Error是可以定义的
// 更改默认的空控制器名 ‘empty_controller’ => ‘MyError’,