CodeIgniter拡張コアクラスのサンプルの詳細説明、codeigniter_PHPチュートリアルの詳細説明

WBOY
リリース: 2016-07-12 09:00:00
オリジナル
1097 人が閲覧しました

CodeIgniter によるコア クラスの拡張例の詳細、codeigniter の詳細

この記事の例では、CodeIgniter がコア クラスを拡張する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

CIのコアクラス、補助クラス、関数の拡張は、設定ファイルでsubclass_prefix拡張プレフィックスが指定されており、拡張メソッドのデフォルトはMY_です。以下にまとめます。

1. コアクラスを拡張する

コアクラスはsystem/coreの下にあり、それらのほとんどは初期化中に自動的にロードされます。コア クラスを拡張するには、コア クラスを置き換える方法とコア クラスを継承する方法の 2 つがあります。

コアクラスを置き換える

application/coreディレクトリにsystem/coreと同名のファイルが存在する場合、coreクラスは自動的に置き換えられます。 Loader.php を例にとると、このクラスは application/core/Loader.php の作成後に自動的にロードされます。このクラスはシステムのコア クラスであるため、Loader.php が CI_Loader クラスのメソッドを実装していない場合、次のようなエラーが報告されます:

リーリー

コアクラスを置き換えるには、コア機能への影響を避けるために、そのクラス内のすべてのメソッドを書き直す必要があります。ただし、ほとんどの場合、コア全体を書き直す必要はありません。この場合、基本的には、継承を使用できます。

コアクラスを継承する

コア クラスを継承するには、subclass_prefix をプレフィックスとして付ける必要があります。Input クラスを拡張する場合は、application/core/MY_Input.php を作成する必要があり、MY_Input は次のように CI_Input クラスを継承する必要があります。 リーリー

2. CI クラス ライブラリを拡張する

一部の補助クラスは system/libraries の下に実装されており、これらのクラスを拡張する必要がある場合、ディレクトリが application/libraries になることを除いて、処理方法はコア クラスと同じです。

3. 拡張された補助機能

補助関数は application/helpers ディレクトリに格納されます。 補助関数の「継承」方法は上記と同じです。 CI の補助関数はすべて function_exists を使用して存在するかどうかを判断するため、「書き換え」の目的も達成できます。たとえば、配列ソートメソッドを配列に追加します:

リーリー

一般に、CI フレームワークのシステム ディレクトリ内のコンテンツのほとんどは書き換え可能であり、非常に柔軟で拡張が簡単です。ただし、拡張機能が多ければ多いほど、CI では実現できない機能が拡張されることに注意する必要がある場合があります。最後に、CI は拡張機能を提供するため、システム配下の内容を直接変更しないでください。

さらに codeigniter 関連のコンテンツに興味のある読者は、このサイトの特別トピック「codeigniter チュートリアルの概要」と「CI (CodeIgniter) フレームワークの高度なチュートリアル」をチェックしてください

この記事が、CodeIgniter フレームワークに基づく皆様の PHP プログラム設計に役立つことを願っています。

興味がありそうな記事:

Codeigniter コントローラー コントローラー継承問題事例分析
  • 2 Codeigniter ファイル一括アップロードコントローラー記述例
  • CodeIgniter 多言語実装方法詳細解説
  • CI (CodeIgniter) モデル利用事例分析
  • CodeIgniterビュー使用上の注意点
  • codeIgniterの読み書き分離実装方法の詳細説明
  • CI(CodeIgniter)訪問者数の簡易統計実装方法
  • CodeIgniterカスタムコントローラーMY_Controllerの利用状況分析

http://www.bkjia.com/PHPjc/1094768.html

本当http://www.bkjia.com/PHPjc/1094768.html技術記事 CodeIgniter によるコア クラスの拡張例の詳細については、この記事の codeIgniter の詳細例で CodeIgniter がコア クラスを拡張する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです: CI のコア クラス...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート