2.モデル

WBOY
リリース: 2016-06-13 12:21:33
オリジナル
893 人が閲覧しました

CodeIgniter 学習メモ 3: CI コントローラーとモデルの拡張

1. CI でのコントローラーの拡張

場合によっては、ログインや権限の確認など、CI のコントローラーで統一された操作を実行する必要があります。 CI コントローラーを拡張することで実現できます。

CI コントローラーを拡張するには、application/core フォルダーに CI_Controller クラスから継承した MY_Controller クラスを作成し、このクラスに必要なロジックを実装するだけです。

上記の文に関しては、2 つの点を説明する必要があります。

1. なぜ application/core フォルダーにあるのか: 基本クラス CI_Controller が system/core にあるためです。フォルダー 、システムに対応する必要があります。

2. 拡張コントローラーのプレフィックスが MY_ であるのはなぜですか? このプレフィックスは application/config/config.php で定義されています:

<span style="color: #800080;">$config</span>['subclass_prefix'] = 'MY_';
ログイン後にコピー

これら 2 つの場所を一致させるだけです。

2. モデル

アプリケーション/モデル/user_model.php:

<?<span style="color: #000000;">php    </span><span style="color: #008000;">/*</span><span style="color: #008000;">*    * User_model    </span><span style="color: #008000;">*/</span>    <span style="color: #0000ff;">class</span> User_model <span style="color: #0000ff;">extends</span><span style="color: #000000;"> CI_Model{        </span><span style="color: #008000;">//</span><span style="color: #008000;">return all users</span>        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> getAll() {            </span><span style="color: #800080;">$res</span> = <span style="color: #800080;">$this</span> -> db -> get('test'<span style="color: #000000;">);            </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$res</span> -><span style="color: #000000;"> result();        }    }</span>
ログイン後にコピー

注:

1.ファイル名はすべて小文字です

2. クラス名の最初の文字は大文字です

3. スーパー オブジェクトの属性はモデルで使用できます

4.他のクラス名との競合を防ぐため、サフィックスとして _model を使用することをお勧めします

使用例:

<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> index() {    </span><span style="color: #008000;">//</span><span style="color: #008000;">load model</span>    <span style="color: #800080;">$this</span> -> load -> model('User_model'<span style="color: #000000;">);    </span><span style="color: #800080;">$usermodel</span> = <span style="color: #800080;">$this</span> -> User_model -><span style="color: #000000;"> getAll();    </span><span style="color: #008000;">//</span><span style="color: #008000;">别名</span>    <span style="color: #800080;">$this</span> -> load -> model('User_model', 'user'<span style="color: #000000;">);    </span><span style="color: #800080;">$usermodel</span> = <span style="color: #800080;">$this</span> -> user -><span style="color: #000000;"> getAll();    </span><span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$usermodel</span><span style="color: #000000;">);}</span>
ログイン後にコピー

モデルは主にプロジェクト構造を標準化するために使用されます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート