CodeIgniter 関数内からコントローラーをロードする
コード構成を強化し、コントローラー内の混乱を軽減するには、他の関数内からコントローラーをロードすることが望ましいです。コントローラー。これにより、特定の機能のモジュール化とカプセル化が可能になります。
CodeIgniter でコントローラーをロードする標準的な方法には、アドレス バーにコントローラーの URL を指定することが含まれます。たとえば、コントローラー OtherController の functionName メソッドにアクセスするには、次の URL が必要です。
http://example.com/othercontroller/functionname
ただし、この方法では URL にコントローラー名を含める必要があり、状況によっては望ましくない可能性があります。
解決策: コントローラーを動的にロードする
コントローラーをロードするにはメイン コントローラーの関数内から、次のコードを使用します。
$this->load->library('../controllers/Whathever');
「../controllers/Whathever」を、ロードするコントローラーへの相対パスに置き換えます。
ロードされたら、ロードされたコントローラーの目的のメソッドを呼び出します:
$this->whathever->functionName();
HMVC互換性
このメソッドは HMVC と互換性があります。 URL でコントローラ名を指定せずにメイン コントローラ関数からコントローラ メソッドをロードするには、上記のようにコントローラを動的にロードするだけです。
使用例
プロジェクトに統合された codeIgniter ライブラリが複数のコントローラーで利用されるシナリオ。ライブラリによる個々のコントローラのオーバーロードを避けるために、必要な関数内でライブラリを動的にロードできます。
このアプローチにより、ライブラリは必要な場合にのみロードされ、目的の機能を維持しながらコントローラをクリーンで整理された状態に保つことができます。
以上が関数内から CodeIgniter コントローラーをロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。