我已经安装了以下作曲家包:
"require": {
"beatswitch/lock": "0.2.0",
"league/event": "2.1.2",
"oscarotero/psr7-middlewares": "v3.16.1",
"pdepend/pdepend": "2.2.4",
"sebastian/phpcpd": "2.0.4",
"instaclick/php-code-sniffer": "1.4.2",
"phploc/phploc": "3.0.1",
"phpmd/phpmd": "2.4.3",
"phpunit/phpunit": "5.5.x-dev",
"phpunit/phpunit-selenium": "3.0.2",
"league/route": "3.x-dev",
"guzzlehttp/psr7": "1.3.0",
"relay/relay": "2.x-dev",
"monolog/monolog": "2.0.x-dev",
"aura/session": "3.x-dev"
}
现在我想将这些包与 psr7-middlewares 包“粘合”在一起。不幸的是,我在调度程序之外找不到任何关于如何从这些中间件中使用每个库的信息。Access Logging 和 Routing 等基本功能已经可以正常工作。
我集成了 Aura Sessions,如下所示:
Middleware::AuraSession(),
->factory(new Aura\Session\SessionFactory) //(optional) Intance of Aura\Session\SessionFactory
->name('my-session-name'), //(optional) custom session name
function ($request, $response, $next) {
//Get the session instance
$session = AuraSession::getSession($request);
return $response;
}
这适用于 Relayphp 和 Guzzle\Http 消息接口。转储会话变量给了我带有空值的基本会话数据,因为我没有设置任何东西。
不幸的是,我找不到任何易于理解的关于如何在中间件系统中设置 Session 的信息。最后我得到了一个响应,可以得到它的正文和标题,但不能更多。
如何访问中间件数组中设置的函数?我也尝试只使用 AuraSession 类并在该类上设置变量,但它不起作用。或者我是否必须在一起调度中间件之前设置所有会话?但是它们又是如何融入其中的呢?