1

Zend Framework MVC は初めてです。私は MVC 環境で作業することについて多くのことを気に入っていますが、構造的に混乱することがあります。

簡単なタスクがあります。私たちのサイトで特定のユーザーにフラグを立てて、彼らの動きを追跡したいと考えています。このために、データベースに単純なテーブルを設定し、ブートストラップに _initTracking() 関数をコーディングし始めました。その後、間違った方向からアプローチしていることに気付きました。ヘッダー リダイレクトでトラッキング エントリを台無しにしないようにするため、また自動ロードされたすべてのクラスが存在するようにするために、これを起動する最後の関数の 1 つにしたいと考えています。どうすればいいですか?「onBeforeRender」タイプの関数はありますか? あるとしたら見つけられませんでした。

ありがとう

4

3 に答える 3

1

ZFプラグインを使用することをお勧めします。追跡の必要性に応じて、プラグインpostDispatch()またはメソッドでユーザーのアクションを追跡できます。dispatchLoopShutdown()

ZF プラグインについての読み物 - http://framework.zend.com/manual/en/zend.controller.plugins.html

また、Zend Framework のリクエスト ライフサイクルに関する非常に優れた記事 - http://www.eschrade.com/page/zend-framework-request-lifecycle-4b9a4288

于 2010-09-15T14:35:00.047 に答える
0

これをレイアウトスクリプトに入れることになりました。おそらくこれを行うより良い方法がありますが、私の場合 (コードを 2 つのレイアウトで実行したいすべてのビューがあるため)、それが最も簡単で、目標を達成しました。

于 2010-09-15T02:37:37.090 に答える
0

これに最適な場所は、コントローラーの postDispatch() フックだと思います。

http://framework.zend.com/manual/en/zend.controller.action.html、特に Pre-Dispatch Hooks と Post-Dispatch Hooks のセクションをご覧ください。

これは、トラッキング コードをベース コントローラに配置するのに適しています。アクション コントローラはベース コントローラを拡張し、トラッキング コードを 1 つの場所に保持します。

于 2010-09-15T04:57:26.000 に答える