CI アプリケーションで "pre_controller hook 具体的に" フックを使用しています。
しかし、問題は、フックをアクティブにしたくないコントローラーであっても、他のコントローラーにリクエストが発行されるたびにフックがアクティブになることです。フックは1つのコントローラーに対してのみ有効にできますか? playframework の @Before アノテーションのように。
前もって感謝します。
質問する
2088 次
2 に答える
8
そのロジックをコントローラーのコンストラクターに入れてみませんか?
この機能を共有したいコントローラが複数ある場合は、単にCI_Controller
新しいクラスを拡張application/core/MY_Controller.php
してそこに機能を配置し、コントローラでデフォルトの CI_Controller の代わりにそのクラスを拡張します (複数のクラスを追加できます)。MY_Controller.php
)!
オーバーライド クラスに入れるものMY_Controller.php
はすべて、コントローラーの残りのコードの前に実行され、pre_controller
フックをシミュレートします。
親コンストラクターも呼び出すことを忘れないでください。
function __construct(){
parent::__construct();
}
コアの拡張に関する詳細については、マニュアルを参照してください: https://www.codeigniter.com/user_guide/general/core_classes.html
于 2012-11-24T08:33:16.063 に答える