PSR-7はまもなく標準化される予定です (私は信じています)。Phly、StackPHP、ConnectJSで使用されるミドルウェアについて考えさせられました。
ConnectJS の仕組みは、ミドルウェアが何かを追加する必要があるときにリクエスト オブジェクトを変更することです。たとえば、cookie-sessionはオブジェクトにsession
プロパティを作成します。req
app.use(session({
keys: ['key1', 'key2']
}))
app.use(function (req, res, next) {
var n = req.session.views || 0 // <-- req.session is managed by the session middleware
req.session.views = ++n
res.end(n + ' views')
})
PSR-7 では、Request オブジェクトと Response オブジェクトの両方が不変である (と思われる) ため、このような追加データをどのように渡す必要があるのでしょうか? つまり、認証ミドルウェアによって作成された「セッション」オブジェクトまたは「ユーザー」オブジェクトを格納するのに最適な場所はどこでしょうか?