initでCodeigniterのすべてのコントローラで機能する関数を作成する方法はありますか?ZendのようなCodeigniterブートストラップ
Zendには、アプリケーション/ Bootstrap.phpがあります。そのような解決策が必要です。
initでCodeigniterのすべてのコントローラで機能する関数を作成する方法はありますか?ZendのようなCodeigniterブートストラップ
Zendには、アプリケーション/ Bootstrap.phpがあります。そのような解決策が必要です。
ネイティブのCI_Controller
クラスを拡張し、アプリケーションのすべてのコントローラが拡張するMY_Controller
クラスを作成できます。その場合、クラスを拡張するすべてのコントローラーでクラスを使用できるようになります(MY_Controller
)。また、子コントローラが構築されるたびに実行されるコードをMY_Controller
コンストラクタに配置することもできます。
BootstrapファイルがZendでどのように動作するのか覚えていませんが、これが実行可能なソリューションのように聞こえる場合は、マニュアルのCreating Core System Classesセクションでネイティブコントローラを拡張する方法について説明しています。
New_controllerをCI_Controllerに拡張することができます。 New_controllerでは、必要な共通の関数を書くことができます。新しい拡張コントローラの使用については、
コアコントローラの拡張対象については、マニュアルのいくつかの箇所、特に「コアクラス」と「ライブラリの作成」ページで簡単に説明します。
コアコントローラを拡張する目的は、すべての通常のコントローラにメソッドと属性を提供することです。フック、ライブラリ、ヘルパーなど、この種の普及した機能を提供する他の方法もあります。次のことがあなたの質問に対する答えであることを前提とする前に、それらの選択肢の方法と利点に慣れるべきです。
最後に、あなたが何かをするアプリケーションを持っていると仮定しています。何が問題ではなく、単にここで作業できる既存のコントローラを持っているだけです。
リンクにはCodeIgniter 1.7の指示が含まれていることに注意してください。 – birderic
私は最新バージョンでそれを拡張しました。できます。そのページからディスカッションリンクを見ることができます。私は答えを広げた。それはプログラマーが彼が使っているものだ。私は他のオプションも与えています。 –
ニースのソリューション、かわいいCodeigniter! – Chumillas