ThinkPHP5前置操作

可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。

<?php
namespace app\index\controller;

use think\Controller;

class Index extends Controller
{
    protected $beforeActionList = [
        'first',                                //在执行所有方法前都会执行first方法
        'second' =>  ['except'=>'hello'],       //除hello方法外的方法执行前都要先执行second方法
        'three'  =>  ['only'=>'hello,data'],    //在hello/data方法执行前先执行three方法
    ];

    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';
    }
}

如注释所言,为TP5的前置操作。 
在以下URL中访问:

http://127.0.0.1/demo/public/index.php/index/index/hello
  • 1

有如下显示: 
first 
three 

hello

如注释所言,为TP5的前置操作。 

在以下URL中访问:

http://localhost/index.php/index/Index/data   有如下显示:  

    first

  1. second
  2. three
  3. data


文章来源: ThinkPHP5前置操作

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:ThinkPHP5前置操作