问题标签 [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.

0 投票
2 回答
289 浏览

php - 将中间件生成的新对象放在哪里?

PSR-7很快就会标准化(我相信)。这让我想到了中间件,例如PhlyStackPHPConnectJS使用的中间件。

ConnectJS 的工作方式是在中间件需要添加某些内容时修改请求对象。例如,cookie-session在对象上创建一个session属性req

在 PSR-7 中,我们的 Request 和 Response 对象(应该是)不可变的,那么我们应该如何传递这样的额外数据呢?即,存储由身份验证中间件创建的“会话”对象或“用户”对象的最佳位置在哪里?

0 投票
7 回答
42245 浏览

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

0 投票
1 回答
1216 浏览

php - 如何在 Guzzle 6 中禁用 URL 编码

我正在使用 pipedrive API,我想提出这样的请求:

它工作正常,例如。当我使用浏览器发出请求时,但是当我使用 Guzzle 发送请求时,我得到响应 501。我假设它以 Pipedrive API 无法识别的方式进行编码。

有没有办法在 Guzzle 6 中禁用 URL 编码?

0 投票
1 回答
1565 浏览

php - Psr7 Http Message,为什么不可变?

我正在研究PSR-7接口并思考如何实现它们的方法。

我也一直在阅读这篇博文。显然,实现PSR-7接口的对象必须是不可变的。

因此,如果我从那时起实现该withProtocolVersion方法,MessageInterface它将如下所示:

我的问题真的是,为什么不可变?为什么不简单地做一个return $this;

并不是我担心它分配的内存量,我只是真的看不出保持它不可变有什么好处。

就像博客文章说的那样,当你这样做时:

然后创建了四个副本,但最终结果$request与我简单地使用时相同return $this,对吗?

为什么决定让它保持不变。那么我为什么要做一个clone $this?它有什么好处?

我并没有真正开始这个想法。

0 投票
1 回答
468 浏览

php - 我可以将 PSR-7 StreamInterfaces 与 PHP 的本机流函数一起使用吗?

我在问,因为我正在使用这样的包im0rtality/jsonstreamingparser,这取决于输入是本机 php 流,例如通过调用get_resource_type().

如果不是直接的,packagist 上是否有我的搜索没有出现的包装库?

0 投票
2 回答
7196 浏览

slim - Slim 3 - 如何添加 404 模板?

在 Slim 2 中,我可以轻松覆盖默认的 404 页面,

但在 Slim 3 中,

如何添加我的 404 模板('404.html')?

0 投票
4 回答
62105 浏览

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 中做到这一点?

0 投票
1 回答
164 浏览

php - PHP - 为什么是 HTTP 消息实现?

这可能是一个愚蠢的问题,但我已经看到并阅读了当前 PHP 开发趋势中的 HTTP 消息或 PSR-7。为什么突然间我们需要在 PHP 中实现 HTTP 消息来进行现代 Web 开发?

例如,对于 Slim 3,现在我们要这样做,

我们现在必须将请求的结果“包装”在 HTTP 响应对象中。

这种响应以下请求的古老经典方式有什么问题?

对我来说更容易理解。

实现 HTTP 消息有什么好处?我们什么时候需要使用它们?为什么?

0 投票
2 回答
3002 浏览

php - 使用 PSR-7 发出响应

我试图了解 PSR-7 的工作原理,但我被卡住了!这是我的代码:

我的 Response 对象已构建,但现在我想发送它... PSR-7 如何发送响应?我需要序列化吗?我可能错过了一件事......

0 投票
2 回答
1036 浏览

slim - Slim 3 - isPost() 的替代品?

在 Slim 2 中,我会这样做,

但在 Slim 3 中,

我得到这个错误,

致命错误:函数名必须是 C:... 中的字符串

显然这isPost()已被弃用,那么我应该在 Slim 3 中使用什么来代替 isPost 呢?