プラグイン > 開発について > Eccube\Applicationクラスの初期化について |
開発について
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
nanasess |
投稿日時: 2017/11/10 16:28
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: Eccube\Applicationクラスの初期化について 引用:
正確には、 Application を引数やパラメータに保持しないクラスや関数から Application のインスタンスを取得した際、新たなインスタンスを生成してデータベースのコネクションが複数にならないようにする対策ですね。 https://github.com/EC-CUBE/ec-cube/issues/857#issuecomment-144291909 複数のコネクションを張ってしまうと、トランザクションの制御ができなくなったり、 SQLite3 でデータベースがロックしてしまったりと弊害が多いので、 Application は必ず唯一のインスタンス(Singleton)となるようにしています。 また、 Singleton にした場合、 initialized で初期化を制御してあげないと、 ServiceProviderInterface::register() が複数回コールされ、不具合の要因となってしまいます。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
Eccube\Applicationクラスの初期化について | yuy-tank | 2017/11/10 12:13 |
Re: Eccube\Applicationクラスの初期化について | nyorai | 2017/11/10 13:32 |
Re: Eccube\Applicationクラスの初期化について | yuy-tank | 2017/11/10 14:37 |
Re: Eccube\Applicationクラスの初期化について | nyorai | 2017/11/10 16:05 |
» Re: Eccube\Applicationクラスの初期化について | nanasess | 2017/11/10 16:28 |
Re: Eccube\Applicationクラスの初期化について | yuy-tank | 2017/11/10 17:11 |