问题标签 [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 - 如何在 PHP 中使用 PSR7 中间件
我已经安装了以下作曲家包:
}
现在我想将这些包与 psr7-middlewares 包“粘合”在一起。不幸的是,我在调度程序之外找不到任何关于如何从这些中间件中使用每个库的信息。Access Logging 和 Routing 等基本功能已经可以正常工作。
我集成了 Aura Sessions,如下所示:
这适用于 Relayphp 和 Guzzle\Http 消息接口。转储会话变量给了我带有空值的基本会话数据,因为我没有设置任何东西。
不幸的是,我找不到任何易于理解的关于如何在中间件系统中设置 Session 的信息。最后我得到了一个响应,可以得到它的正文和标题,但不能更多。
如何访问中间件数组中设置的函数?我也尝试只使用 AuraSession 类并在该类上设置变量,但它不起作用。或者我是否必须在一起调度中间件之前设置所有会话?但是它们又是如何融入其中的呢?
php - 响应对象上的 PSR-7“属性”
我正在使用 PSR-7(使用 Zend Expressive)进行开发。我想出了方法
我想知道为什么对象 Response 没有。我想在“响应端”处理后通过中间件传递元数据。是否有某种方式可以在 Response 上传递“属性”以进行后处理?遵循架构指南,实现这一目标的最佳方式是什么?
php - 在中间件 SlimV3 中增值
我是 SLimV3 的新手,我想使用 middleWare 创建 Json 输出。
我的代码是:控制器:
我的路线:
我的中间件
我的输出没问题,
但我不喜欢在我的控制器中创建 Json,在中间件中创建 Json Decode,然后再次创建$newResponse = $response->withJson($json);
。我想阅读响应并在中间件中创建响应,或者阅读状态代码并创建自定义响应。我可以做吗 ?
php - 在中间件之间传递数据
我使用zend-expressive,我想将数据从一个中间件传递到另一个中间件。例如在 config/routes.php 我有
在 Api\V1\Action\ItemListAction 我正在准备来自数据库的一些数据,我喜欢将 $itemsList 传递给另一个中间件
在 Application\Middleware\JsonRenderMiddleware 我想获取 $itemsList 并以 json 格式返回:
最好的方法是怎样的?只有 commandBus 还是这个框架中的其他解决方案?
xml - 无法回显 guzzle xml 响应 GuzzleHttp\Psr7\Response::xml()
使用 laravel 5.2 我尝试了以下代码:
我得到以下回复:
object(GuzzleHttp\Psr7\Stream)#171 (7) { ["stream":"GuzzleHttp\Psr7\Stream":private]=> 资源(231) 类型 (stream) ["size":"GuzzleHttp\Psr7\ Stream":private]=> NULL ["seekable":"GuzzleHttp\Psr7\Stream":private]=> bool(true) ["可读":"GuzzleHttp\Psr7\Stream":private]=> bool(true) ["可写":"GuzzleHttp\Psr7\Stream":private]=> bool(true) ["uri":"GuzzleHttp\Psr7\Stream":private]=> string(10) "php://temp" [ "customMetadata":"GuzzleHttp\Psr7\Stream":private]=> array(0) { } }
根据提供者的说法,服务器上的请求和响应都可以。
如何使用 xml 响应?换句话说,如何使用 psr7 对象或流,以便显示有意义的信息?
我读到的答案“还”对我没有帮助(要么不知道如何处理所提供的信息,要么该信息不适用于我的情况);
- https://stackoverflow.com/a/32512634/3664960 -> 我正在使用 6,但我不知道答案是否建议使用旧版本
- https://stackoverflow.com/a/30549372/3664960使用第一个选项放在
string
前面时,结果是
字符串(1)“”
- https://stackoverflow.com/a/372 58804/3664960 -> json_decode
无效的
字符串(1)“”
5. https://stackoverflow.com/a/35632231/3664960
在评论中查看我的评论
我还能尝试什么?
笔记:
我可以阅读标题并正确显示它们!
laravel - 我应该将 psr-7 用于 laravel 请求/响应吗?
我一直在使用 slim 3,最后终于了解了 psr-7。现在使用 laravel我看到开箱即用,不支持 psr-7。
现在......是否有充分的理由遵循 psr-7 或 laravel 请求样式?
以个人喜好为例,并不是一个强烈的理由。
我只是不想用 laravel 请求类编写整个应用程序,那Illuminate\Http\Request
只是想在一年后发现我真的应该遵循 psr-7 标准。
php - 不要中止对 ErrorException 的响应
我正在为 Slim/3.3.0 编写一个自定义错误处理程序,我试图弄清楚是否值得重用相同的代码来处理错误和异常。为此,我定义了一个自定义错误处理程序来将错误转换为ErrorException
实例:
然后,我可以根据自己的喜好记录未捕获的异常和/或显示我的通用“出现错误”页面(到目前为止一切都很好)。
但是现在我想以不同的方式处理小问题(E_WARNING
,E_NOTICE
等):我希望能够继续执行和/或内联显示错误消息(就像 PHP 那样),而不是中止所有内容并显示通用错误页面模板默认),这就是我迷路的地方。显示内联部分很简单,但我的脚本在那里中止:
...以这种方式测试它:
我有哪些选择?
php - 将对象的实例传递给类构造函数时出错
我在将 PSR-7 消息响应(由 Guzzle 生成)传递到类构造函数时遇到问题。
消息由以下方式生成:
还有我的类构造函数:
我得到的错误是:
我假设,因为我没有为 设置类型$this->response
,它会毫无问题地分配变量。
validation - 如何在 PHP 中解析/验证/处理 http 标头
目前我正在构建自己的 php 框架,并且正在创建 PHP-FIG PSR-7 MessageInterface 的实现。特别是 withHeader 方法。它指出该方法可能会抛出一个异常:\InvalidArgumentException 用于无效的标头名称或值。
所以我想知道,标题何时有效或无效?值相同。或者我应该接受任何标题和任何标题值?那可能很危险吧?
我现在可以笼统地说,如果一个标题有多个值,它们是逗号分隔的。但这并不总是适用。例如,如果我查看用户代理标头,则值本身有时包含逗号。但是您应该将其视为单个值。