ホームページ >バックエンド開発 >PHPチュートリアル >PHP フレームワーク codeigniter は、mvc モードとシングル エントリをどのように実装しますか_PHP チュートリアル
MVCについて
MVC パターンが何であるかについてはここでは詳しく説明しません。MVC に関する具体的な情報はインターネットで見つけることができます。私の理解では、MVC パターンはプロジェクトを 3 つの部分に分割します。 モデル、ビュー、コントローラー、これら 3 つの単語の略語の組み合わせが MVC であり、多くの環境で使用される一般的なソフトウェア アジャイル開発モデルです。 特にデスクトッププログラミングの分野では広く使われていますが、特に数年前まではPHPのようなスクリプト言語での実装は困難でした。しかし今年はスクリプト言語。 多くのフレームワークが登場するにつれて、mvc は各フレームワークで最初に実装されています。ここでは、codeigniter が mvc を実装する方法についてのみ紹介します。
シングル入場について
単一エントリは、Web サイト (アプリケーション) で、すべてのリクエストが CI の http:localhostindex.php などのスクリプト ファイルに送信されることを意味します。 アプリケーションへのすべてのアクセスは、この入り口を経由する必要があります。index.php にアクセスすると、アプリケーションは多くの初期化作業を実行するため、MVC モードを実現できるのはこの入り口だけです。 これを行うには、多数の基本クラス ライブラリを呼び出し、index.php の背後にあるパラメーターに従ってコントローラーをロードし、ビューやモデルなどのコンテンツ情報をロードします。
CI でロードされるすべてのファイルはコントローラーによって呼び出される必要があります。コントローラーは CI のスーパークラスであるため、つまり、他のクラスがコントローラーにアタッチされているため、単一のエントリ メソッドを使用して CI アプリケーションにアクセスする場合は、次のことを行う必要があります。 Index.php の後に、コントローラーの名前とメソッド名をコントローラーに追加します。これについてわからない場合、または理解できない場合は、CI の公式 Web サイトにアクセスして公式ドキュメントをダウンロードし、詳細を確認してください。 。 仕組み
CI の公式ドキュメントは非常に詳細で理解しやすいものです。ここで説明されているのは、ドキュメントには存在しない基本原則です。
スタート
おそらく、CI コントローラーがどのように機能するかを説明する必要があります。CI のコントローラーは、システムのコントローラー クラスから継承するクラスです。 これには http: localhostindex.phpcontrolfuncparam1param2 からアクセスできます。 質問したページでは何をする必要がありますか? まず、systemapplicationcontrollers フォルダーに新しいファイルを作成する必要があります。 contro.php ファイル。このファイルは、アクセスするコントローラー クラスが配置されているファイルです。このファイル内に次のコンテンツを作成します。
以下、引用内容です 1 クラスコントローラー extendsコントローラー { 2 3 関数コントローラー() 4 { 5 6 } 7 8 関数 func($param1,$param2) 9 { 10 $this->load->model(MSomemodel, 、本当); 11 $data[data1]= $this-> MSomemodel->getvalue(); 12 $data); 13 } 14} これはコントローラーの基本コンポーネントではありませんが、モデルとビューを含むコントローラーの例です。 まず第一に、コントローラーのクラス名の最初の文字を大文字にする必要があることに注意してください。次に、親クラスのコンストラクターがクラスのコンストラクター内で呼び出され、その後に 3 番目の func() メソッドが呼び出されます。 URLの後のパラメータ。 このメソッドには 2 つのパラメータがあります。これら 2 つのパラメータの値は、URL の 3 番目と 4 番目の部分の値です。つまり、単一の入り口のアクセス方法は http: localhostindex です。 phpコントローラー名 メソッド名 メソッドパラメータ1 メソッドパラメータ2 。 .. .. コントローラー クラスの各メソッドはページを表します。つまり、多くの同様の操作をコントローラーに入れて操作を統合できます 上記の例では、 func() メソッドの他の部分がモデルとビューをそれぞれロードします。モデルをロードすると、モデルは models フォルダーにロードされます。 msomemodel.php ファイル内の MSomemodel クラスは、アプリケーションのモデル部分を担当し、データベース ストレージなどのデータ交換を担当します。 |