0

MVC には Zend フレームワークを使用し、データベースへのアクセスには Pear を使用します。リクエストが完了するたびにデータベースへの接続を閉じる必要があるのでしょうか? もしそうなら、これをエレガントに行う方法はありますか?

複数のコントローラーにまたがる約 50 のアクションがあり、各コントローラーの最後に db->disconnect() を配置したくありません。この切断コマンドを 1 つの場所 (必要に応じて「デストラクタ」) に配置し、要求が完了するたびに Zend にこれを自動的に呼び出させる方法はありますか?

4

2 に答える 2

2

現時点では、2 つの可能性が考えられます。

まず、 dispatchLoopShutdown フックなど のコントローラプラグインに「デストラクタ」を配置できます。

第二に、リクエストの最後で本当に何かを実行したい場合は$application->bootstrap()->run();、index.php の後に「デストラクタ」を置くことができます。

于 2011-03-10T12:34:57.207 に答える
0

を使用しているのは、100% 防弾ソリューションのみregister_shutdown_function()です。リクエストがリダイレクトされた ( $this->_helper->redirector->gotoUrlAndExit()) 場合や、スクリプトが強制終了された (die()またはを使用) 場合でも呼び出されexit()ます。- プラグインとインデックスの最後の行の両方が、リダイレクトまたは強制終了されたスクリプトで失敗する可能性があります。

于 2011-03-30T21:16:37.317 に答える