私のプロジェクトでは、次のコードを使用して、サービスのセッション バッグを介してセッション変数にアクセスします。
public function __construct()
{
// Create session bag
$className = get_class($this);
$this->storage = new Phalcon\Session\Bag($className);
}
ただし、これにより、「「セッション」サービスにアクセスするには依存性注入オブジェクトが必要です」という例外が発生します。
わかりました、ここで DI をセットアップする必要があるようです。最も簡単な方法 - DI で共有されていない sessionBag サービスを定義する ($di は自動的に設定されます)。しかし、この方法でセッションバッグに設定する必要がある名前をどのように理解できますか? 例:
$di->set('sessionBag', function() use ($config) {
$name = ''; // ???
$bag = new \Phalcon\Session\Bag($name);
return $bag;
});