问题标签 [psr-7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 将中间件生成的新对象放在哪里?
PSR-7很快就会标准化(我相信)。这让我想到了中间件,例如Phly、StackPHP和ConnectJS使用的中间件。
ConnectJS 的工作方式是在中间件需要添加某些内容时修改请求对象。例如,cookie-session在对象上创建一个session
属性req
:
在 PSR-7 中,我们的 Request 和 Response 对象(应该是)不可变的,那么我们应该如何传递这样的额外数据呢?即,存储由身份验证中间件创建的“会话”对象或“用户”对象的最佳位置在哪里?
php - 如何在 Guzzle ~6.0 中读取响应有效 URL
我已经搜索了大约 2 个小时,但我无法弄清楚如何阅读最终响应 uri。
在以前版本的 PHP Guzzle中,您只需调用即可$response->getEffectiveUrl()
获得它。
我希望在新版本中有类似的东西,所以最终代码如下所示:
但是在最新版本$response
中现在是 aGuzzleHttp\Psr7\Response
并且没有允许我检索 uri 的方法。
我在这里读到了重定向(http://guzzle.readthedocs.org/en/latest/quickstart.html#redirects),但它什么也没说
更新:6.1 版本现在允许您轻松地做到这一点:
https://stackoverflow.com/a/35443523/1811887
谢谢@YauheniPrakopchyk
php - 如何在 Guzzle 6 中禁用 URL 编码
我正在使用 pipedrive API,我想提出这样的请求:
它工作正常,例如。当我使用浏览器发出请求时,但是当我使用 Guzzle 发送请求时,我得到响应 501。我假设它以 Pipedrive API 无法识别的方式进行编码。
有没有办法在 Guzzle 6 中禁用 URL 编码?
php - Psr7 Http Message,为什么不可变?
我正在研究PSR-7接口并思考如何实现它们的方法。
我也一直在阅读这篇博文。显然,实现PSR-7
接口的对象必须是不可变的。
因此,如果我从那时起实现该withProtocolVersion
方法,MessageInterface
它将如下所示:
我的问题真的是,为什么不可变?为什么不简单地做一个return $this;
?
并不是我担心它分配的内存量,我只是真的看不出保持它不可变有什么好处。
就像博客文章说的那样,当你这样做时:
然后创建了四个副本,但最终结果$request
与我简单地使用时相同return $this
,对吗?
为什么决定让它保持不变。那么我为什么要做一个clone $this
?它有什么好处?
我并没有真正开始这个想法。
php - 我可以将 PSR-7 StreamInterfaces 与 PHP 的本机流函数一起使用吗?
我在问,因为我正在使用这样的包im0rtality/jsonstreamingparser
,这取决于输入是本机 php 流,例如通过调用get_resource_type()
.
如果不是直接的,packagist 上是否有我的搜索没有出现的包装库?
slim - Slim 3 - 如何添加 404 模板?
在 Slim 2 中,我可以轻松覆盖默认的 404 页面,
但在 Slim 3 中,
如何添加我的 404 模板('404.html')?
slim - Slim 3 - 如何获取所有 get/put/post 变量?
如何获得Slim 2 中的所有 get/ put/ post
变量,例如 Slim 3?
苗条2,
我怎样才能在 Slim 3 中做到这一点?
并且,例如,http://example.com/books/1?title=hello&content=world
我现在如何在 Slim 3title
中获取参数?content
苗条2,
我怎样才能在 Slim 3 中做到这一点?
php - PHP - 为什么是 HTTP 消息实现?
这可能是一个愚蠢的问题,但我已经看到并阅读了当前 PHP 开发趋势中的 HTTP 消息或 PSR-7。为什么突然间我们需要在 PHP 中实现 HTTP 消息来进行现代 Web 开发?
例如,对于 Slim 3,现在我们要这样做,
我们现在必须将请求的结果“包装”在 HTTP 响应对象中。
这种响应以下请求的古老经典方式有什么问题?
对我来说更容易理解。
实现 HTTP 消息有什么好处?我们什么时候需要使用它们?为什么?
php - 使用 PSR-7 发出响应
我试图了解 PSR-7 的工作原理,但我被卡住了!这是我的代码:
我的 Response 对象已构建,但现在我想发送它... PSR-7 如何发送响应?我需要序列化吗?我可能错过了一件事......
slim - Slim 3 - isPost() 的替代品?
在 Slim 2 中,我会这样做,
但在 Slim 3 中,
我得到这个错误,
致命错误:函数名必须是 C:... 中的字符串
显然这isPost()
已被弃用,那么我应该在 Slim 3 中使用什么来代替 isPost 呢?