ブートストラップファイルのいくつかの条件に従ってリダイレクトする必要があります。
フロントコントローラとルートが定義された後に実行されます。
どうすればよいですか?ポイントは、私はURLを構築するためにルータを使用する必要がある)....ブラウザをZend Frameworkのブートストラップからリダイレクトする方法はありますか?
答えて
私はZFでプログラミングしています。 ここでは、ユーザーがどこにログオンしているかを決定するブートストラップの機能があります。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected $_front;
(...)
protected function _initViewController()
{
(...)
$this->bootstrap('FrontController');
$this->_front = $this->getResource('FrontController');
(...)
}
protected function _initLogado()
{
$router = $this->_front->getRouter();
$req = new Zend_Controller_Request_Http();
$router->route($req);
$module = $req->getModuleName();
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
$this->_view->logado = (array) $auth->getIdentity();
} else {
$this->_view->logado = NULL;
if ($module == 'admin') {
$response = new Zend_Controller_Response_Http();
$response->setRedirect('/');
$this->_front->setResponse($response);
}
}
}
}
最良の方法は、おそらくあなたができるController Plugin
です:
(私は単にヘッダ( '場所を使用することができます知っています。ルーティングが発生した後で、コントローラが呼び出されるアクションメソッドの前に呼び出されるrouteShutdown()フックを追加します。このプラグインでは、リクエストデータをチェックしたり、ACL内のアクセス権を調べたり、あなたは何をしたいですか?
あなたの選択はあなたです!
編集:あなたの質問を読んで、それはあなたがルートに興味がないように見える - あなたのコードを注入するためにブートストラップの後で最も早いポイントとしてrouteStartup()を使用してください。
私はフロントコントローラからルータを取得し、そのassemble()
メソッドを呼び出した後、あなたがrouteShutdown」に状態を確認することができますheader()
:)
よろしく、
ロブ...
を使用します"メソッドをプラグインして、$ this-> actionController - > _ helper-> redirector()をリダイレクトして使用してください)
リダイレクトが実際にブートストラップファイルにすべきではない...それはあなたのコードで立ち往生して終わるコーダのデバッグの一つ恐ろしい夜になります数年で。
フロントコントローラープラグイン、アクションコントローラープラグインのいずれかを使用するか、アクションコントローラーで行います。最終的にこのようなリダイレクトは避けてください...
なぜ賛成投票ですか? – balupton
なぜそれがブートストラップファイルに含まれていてはなりませんか?詳しく教えてください。 –
- 1. Zend-frameworkのクエリからレコード数を取得する方法はありますか?
- 2. Zend Framework 2のコントローラからコンソールコマンドを実行する方法は?
- 3. Zend Framework 2コントローラアクションでリダイレクトをテストする方法は?
- 4. Zend Framework 2のホームページ(デフォルトページ)にリダイレクトする方法は?
- 5. Zend Framework 2リダイレクト
- 6. Zend FrameworkのURLリダイレクト
- 7. Zend Frameworkブートストラップとレイアウト?
- 8. ウェブサイトをモバイルにリダイレクトする方法はありますが、イメージフォルダをリダイレクトする方法はありますか?
- 9. Zend Framework - あるビューから別のビューに変数をコピーする方法
- 10. サブドメインをサブフォルダにリダイレクトする方法と、httpからhttpsにリダイレクトする方法はありますか?
- 11. ブートストラップのloggerのzend framework auth
- 12. Zend Framework:ブートストラップのモジュール名
- 13. Zend Framework - データベース接続のブートストラップ
- 14. Zend Framework:データベースからデータを取得する正しい方法
- 15. Zend Framework 2.0でDateクラスはどこにありますか?
- 16. iosアプリでSafariブラウザではなくpuffinブラウザでURLをリダイレクトする方法はありますか?
- 17. Zend Frameworkの理解ブートストラップのプロセスとapplication.iniからのリソースのロード
- 18. ブラウザから出力ビデオデバイスを選択する方法はありますか?
- 19. ブラウザからiPhoneで画像をキャプチャする方法はありますか?
- 20. Webサーバーからブラウザにデータをプッシュする方法はありますか?
- 21. Tornadoレスポンスからリダイレクト履歴を取得する方法はありますか?
- 22. Zend Frameworkで2つのラジオボタンを1つのIDに追加する方法はありますか?
- 23. smbclientの出力をリダイレクトする方法はありますか?
- 24. Node.jsでDojo 1.7をブートストラップする方法はありますか?
- 25. divでブートストラップ・カラムをラップする方法はありますか?
- 26. Expressアプリをブートストラップする方法はありますか?
- 27. Zend Frameworkアプリケーションセッションリソースとブートストラップ、何が間違っていますか?
- 28. リダイレクトせずにブートストラップ・モーダルからログイン/登録する方法は?
- 29. リストを通過する方法はありますか? Ionic Framework
- 30. ブートストラップの "input"要素から値を読み込み、djangoに "ドロップダウンリスト"をブートストラップする方法はありますか?
私は実際に投稿する前にそれを試みました。何らかの理由で動作しませんでした(値がない場合)。組み立て方法を使用する前にルータで何かを初期化する必要がありますか? (ありがとう) –
簡単なコードサンプルがありますか? –