PHP学习心得


玩转中间件处理

<h2>中间件</h2> <ul> <li>thinkphp 5.1.6之后引入的思想</li> <li>中间件主要处理http的一些请求 <ul> <li>如:过滤,拦截</li> <li>文件位置:/app/middleware.php</li> </ul></li> </ul> <h2>中间件使用简单实例</h2> <h4>控制器</h4> <ul> <li>/app/admin/controller/Index.php</li> </ul> <pre><code class="language-php">namespace app\admin\controller; use app\BaseController; use app\Request; class Index extends BaseController { /** * index.php/admin/Index/testMiddle */ public function testMiddle() { dump(2); echo $this-&gt;request-&gt;test_type; } }</code></pre> <h4>创建中间件</h4> <ul> <li>/app/admin/middleware/Check.php</li> </ul> <pre><code class="language-php">namespace app\admin\middleware; class Check { /** * handle方法名是固定写法,不能改变 * @param $request 请求对象 * @param \Closure $next 闭包 */ public function handle($request, \Closure $next) { dump(1); $request-&gt;test_type = 'test_type'; return $next($request); } /** * 中间件结束调度 */ public function end(\think\Response $Response) { // 如:写一些日志 } } </code></pre> <h4>中间件配置</h4> <ul> <li>/app/admin/middleware.php</li> </ul> <pre><code class="language-php">return [ app\admin\middleware\Check::class, ];</code></pre>

页面列表

ITEM_HTML