Slim4PHP框架零基础学习笔记-中间件_第1页
Slim4PHP框架零基础学习笔记-中间件_第2页
Slim4PHP框架零基础学习笔记-中间件_第3页
Slim4PHP框架零基础学习笔记-中间件_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Slim4PHP框架零基础学习笔记中间件中间件的作在app程序执前或执后要运的代码,来操作 Request和Response对象。如,在防 跨站点请求伪造 时就需要在应运之前验证请求,这就需要到中间件。中间件基本要求中间件必须是可调的,它接受3个参数:1. PsrHttpMessageServerRequestInterface - PSR7请求对象2. PsrHttpMessageResponseInterface - PSR7响应对象3. callable - 可调的下个中间件中间件必须返回个实例 PsrHttpMessageResponseInterface每个中间件应该调下个中间件并将

2、其作为参数传递给Request和Response对象两种形式的中间件1. 闭包,如下例:getBody()-write(AFTER);return $response;2. Invokable类,魔术法_invoke()实现,如下例:add() 式载到 $app 或路由 或Group组路由,如下:$app-add( new ExampleMiddleware() );4.怎么使中间件1) 使应程序中间件应程序中间件会在所有HTTP请求进时触发执, add() 式加载中间件,如下例加载闭包形式中间件:run();上程序将输出 HTTP response 下内容:BEFORE Hello AFTE

3、R2) 使路由中间件路由中间件会在HTTP request请求符合当前指定URI路由时才触发执,路由中间件必需在 Slim 应程序路由法(如 get()或post())调后紧接着就指定加载。每个路由法会返回个 SlimRoute 实例,可以将该实例视为个上例的 Slim 应程序,上同样法 add() 式加载中间。如下例:run();上程序同样将输出 HTTP response 下内容:BEFORE Hello AFTER3) 使路由组中间件路由组中间件与单路由中间件不同在2个:是在单个路由基础上,有更多条件组合才触发执的;不是把 get()、post()或put() 等式视为个应实例,是把 g

4、ruop() 路由组实为个应实例, add() 法加载中间件。如下例:get(/, function ($request, $response) return $response;);当访问 /utils/date 时将输出:It is now 2015-07-06 03:11:01. Enjoy!当访问 /utils/time 时会输出:It is now 1436148762. Enjoy!访问 / 时则不经过中间件,直接输出:Hello World5.中间件变量的传递通过 withAttribute() 和 getAttribute() 来传递中间件变量。如,设置变量:$request = $request-withAt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论