• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于PHP中间键的内容解析

php 搞代码 4年前 (2022-01-21) 19次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于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其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于PHP中间键的内容解析

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址