Bootstrap
index.php
おそらく時期尚早です。ルーティングはまだ行われていないため、$user
オブジェクトを注入するコントローラーはありません。
いくつかの可能性が思い浮かびます。
BaseControllerを使用する
BaseController
他のすべてのコントローラーが拡張するフォームを作成します。ベースコントローラーのinit()
方法で、割り当てを配置できます
$this->_user = Zend_Auth::hasIdentity() ? Zend_Auth::getIdentity() : null;
その後$this->_user
、コントローラーのアクションのどこでも利用できるようになります。
しかし、多くの人がBaseControllerのアイデアを嘲笑しています。以下で説明するアクションヘルパーを使用することをお勧めします。
アクションヘルパーを使用する
上記と同じ方法で作成されたオブジェクトをメソッドが返すアクションヘルパーを作成します。次に、コントローラーで、としてアクセスできます。direct()
$user
$this->_helper->user
正確には、ヘルパークラスに名前を付け、配置する場所は、メソッドZend_Controller_Action_HelperBroker
を使用して設定したパスと名前空間によって異なります。addPath()
コントローラプラグインを使用する
完全を期すためにリストされています。しかし、実際には、IMOで最も優れているのは上記のアクションヘルパーです。