本篇文章给大家带来的内容是关于PHP中间键的内容解析(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
PHP中间键:所谓的中间键其实就是在执行路由之前或者之后执行一些函数,之前可以检测该API是否可以被请求,有没有权限等,后置中间件可以实现记录一些函数执行之后的日志等。
暂时想到的方法有可以在父级controller封装一个方法,在执行一些函数的时候先执行beferAction,执行完Action之后再执行afterAction,这样可以达到简单的中间键。
接触laravel之后发现laravel中的中间键采用了闭包(Closure),简单示例如下:
$application = function ($names, $a){ echo "this is a {$names} aaa {$a} application"; echo "<br />";};// 前置中间键$auth = function ($handler){ return function ($name, $as) use ($handler){ echo "{$name} need {$as} a auth middleware"; echo "<br />"; return $handler; };};$stack = [];// 打包function pack_middleware($handler, $stack){ foreach (array_reverse($stack) as $key => $middleware) { $handler = $middleware($handler); } return $handler;}$stack['auth'] = $auth;$run = pack_middleware($application, $stack);$run('Laravle', "aaaaa");
最后打印结果如下
Laravle need aaaaa a auth middlewarethis is a a aaa aa application
其中array_reverse
函数依次执行最后返回结果,例如:
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");print_r(array_rever<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>se($a));
最后打印结果如下:Array ( [c] => Toyota [b] => BMW [a] => Volvo )
相关文章推荐:
php中如何检查远程文件是否存在(纯代码)
PHP如何来创建一个软连接(代码)
以上就是关于PHP中间键的内容解析的详细内容,更多请关注搞代码gaodaima其它相关文章!