关于PSR-7的调查&为了进一步加深理解的链接集

PSR-7

  • 我不太了解中间件,所以检查了它。
  • 毕竟,我不太确定。

官方

http://www.php-fig.org/psr/psr-7/
http://www.php-fig.org/psr/psr-7/meta/

规范

  • Request: Psr\Http\Message\RequestInterface
  • Response: Psr\Http\Message\ResponseInterface
  • 它们继承了 Psr\Http\Message\MessageInterface

http headers

  • header key不区分大小写
  • header用逗号分隔的字符串或array返回
    • 并非所有字符都可以用逗号分隔。
    • ex.Set-header
  • request host header 优先于 request host component 或 URI host component

stream

  • StreamInterface 继承以隐藏实现详细信息
    • 使用 php://memory 和 php://temp
  • isReadable()isWritable(), and isSeekable()查看请求的可用性
  • __toString()简化了如何处理整个body contents
  • StreamInterface不是不可变的

URI

  • request包含request-target,有以下4种形式
    • origin → 相对路径
    • absolute → 绝对路径
    • authority → 连接CONNECT requests时使用的httpclient和proxy
    • asterisk → 与 OPTIONS 方法一起使用 → *
  • 继承 UriInterface

Server-side Requests

  • $_COOKIE$_GET$_POST$_FILES$_SERVER
  • ServerRequestInterface继承RequestInterface
  • ServerRequestInterface处理这些超全局变量

Uploaded files

  • ServerRequestInterface在file upload时,使用UploadedFileInterface可以感觉很好

source

implementとかmwとか

如果你想找更多的文章

下一个操作是

  • 尝试创建使用 PSR-7 的应用程序
    • 由于我通常使用event-driven的FW,我从来没有制作过使用中间件的应用程序。
  • 精读实现
  • 尝试自己实现规范

via https://qiita.com/kzbandai/items/3bda420412e1c3583b9b

关于PSR-7的调查&为了进一步加深理解的链接集
标签: