MVC フレームワーク PHP が独自の MVC フレームワークを作成する
1. ファイル構造
3 つのフォルダーを作成
コントローラー フォルダーにはコントローラー ファイルが保存されます
ビュー フォルダーにはビュー ファイルが保存されます
モデル フォルダーにはデータ ファイルが保存されます
唯一の入り口として、index.php を 1 つ作成します
2. コントローラー
ここに来ました デモコントローラーを作成しますコントローラーフォルダーの下にある .php ファイルの内容は次のとおりです
コードをコピーします コードは次のとおりです:
class DemoController
{
functionindex()
{
echo ('hello world ');
}
}
/* ファイルの終わり democontroller.php */
このファイルでは、DemoController という名前のオブジェクトを作成し、hello world を出力するインデックス メソッドが含まれています。次に、index.phpのDemoController内のindexメソッドを実行します。
index.phpのコードは次のとおりです
コードをコピーします コードは次のとおりです:
require('controller/democontroller.php');
$c DemoController(); ;
$controller->index();
/* ファイルの終わりindex.php */
index.php を実行すると、予想通り、長い間失われていた Hello World が表示されました。これら 2 つのファイルは非常にシンプルですが、唯一の入り口から実行したいコントローラーを実行するという MVC の本質も少し明らかにしています。もちろんコントローラー部分はuriで決まるはずなので、どのコントローラーを実行するかをuriで判断できるようにindex.phpを書き換えましょう。
index.php は次のようにコードを書き換えます:
コードをコピーします コードは次のとおりです:
$c_str=$_GET['c'];
//コントローラーを取得します。 to run
$c_name= $c_str.'Controller';
//規約により、URLから取得したコントローラ名にはControllerが含まれていないので、ここに記入します。
$c_path='controller/'.$c_name.'.php';
//規約に従って、コントローラーファイルはコントローラーフォルダーに作成され、クラス名はファイル名と同じでなければなりません。ファイル名はすべて小文字にする必要があります。
$method=$_GET['a'];
//実行するアクションを取得する
require($c_path);
//コントローラーファイルをロードする
$c $c_name
//コントローラーファイルをインスタンス化する
$ controller- >$method();
//このインスタンスでアクションを実行します
/* ファイルの終わりindex.php */
に http://localhost/index.php?c=demo&a=index を入力しますブラウザ、Hello World を取得しました。もちろん、別のコントローラーがあり、それを実行したい場合は、url パラメーターの c と a の値を変更するだけで済みます。
ここで説明すべき質問がいくつかあります。
1. PHP は動的言語です。必要なオブジェクトを直接取得し、文字列 new、つまり上記の新しい $c_name を通じて必要なメソッドを実行できます。$c_name は new 'DemoController' として理解できます。もちろん、新しい「DemoController」を直接記述することはできません。「DemoController」文字列は変数を介して転送する必要があります。方法は同じです。
2. URL の c の値は、demo です。つまり、$c_name の値は、demoController である必要があります。このように実行できますか? 「php では大文字と小文字が区別されます」という文は不完全です。php では、変数 ($ が前に付く) と定数 (define で定義される) のみが大文字と小文字を区別し、クラス名、メソッド名、さらには一部のキーワードは大文字と小文字を区別しません。書かれた。また、true、false、null などは、すべて大文字またはすべて小文字のみにすることができます。もちろん、実際のエンコード処理では大文字と小文字を区別する必要があります。
3. View
前のコントローラーでは「hello world」を出力するだけでしたが、これでは mvc の効果は得られませんでした。次に、これをベースに view 関数を追加します。ビュー機能を追加します。はい、それは邪悪な require または include によって達成されます。
まず、ビューフォルダーの下にindex.phpを作成し、何かを書きます(笑、まだhello worldを書きました)。次に、以前の DemoController を書き直します。コードは次のとおりです:
コードをコピー コードは次のとおりです:
class DemoController
{
function Index()
{
require('view/index.php') ;
}
}
/* ファイルの終わり democontroller.php */
ブラウザで再度実行して、必要なコンテンツが出力されたかどうかを確認します。
次に、コントローラーを介してビューにデータを渡します。 コードは次のとおりです。
コードをコピーします。 コードは次のとおりです。
class DemoController{
function Index( )
{
$data['title']='最初のタイトル'
$data['list']=array('A','B','C','D'); /index.php');
}
}
/* ファイルdemocontroller.php */
ビューフォルダー内のindex.phpファイルのコードは次のとおりです:
コードをコピーします
foreach ($data['list'] as $item)
{
echo $item.'
'; >
上記では、PHP が独自の MVC フレームワークを作成できることを紹介しました。これは、PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP の mvc フレームワークには次のものが含まれます: 1. シンプルで洗練されたスケーラブルな構文を備えた Laravel は、豊富な機能と強力な開発ツールを提供します; 2. 柔軟性と拡張性で知られる Symfony は、多くのコンポーネントとツールを提供します; 3. CodeIgniter、シンプルな明確で簡潔なコードと軽量なサイズを備えた高速 MVC フレームワークで、中小規模の Web アプリケーションの迅速な開発に適しています; 4. Yii、セキュリティ パフォーマンスやスケーラビリティなどに重点を置いた高性能 MVC フレームワーク

PHP オープンソース mvc フレームワークには、Laravel、Symfony、CodeIgniter、Yii、Phalcon などが含まれます。詳細な紹介: 1. Laravel は人気のある PHP フレームワークです. シンプルで洗練された構文と豊富な機能を提供します. 強力なルーティング システム, データベース抽象化層, キュー処理, キャッシュ管理および認証機能を備えています. Laravel はまた, 活発なコミュニティと広範な機能を提供します.ドキュメント リソースにより学習と使用が容易になります; 2. Symfony など。

インターネット技術の発展に伴い、MVC フレームワークは Web 開発で最も人気のあるアイデアおよびモデルになりました。その中でもPHP言語はWeb開発言語として豊富なMVCフレームワークも備えています。この記事では、一般的に使用される PHPMVC フレームワークをいくつか紹介します。 1. Laravel Laravel は現在、PHP で最も人気のある MVC フレームワークの 1 つであり、Taylor Otwell によって作成されたオープンソースの PHPWeb フレームワークです。 Laravelは最新のPHを採用

PHP mvc には、Laravel、Symfony、CodeIgniter、Yii が含まれます。 1. 効率的な Web アプリケーションを迅速に開発するための豊富な機能とツールを提供する Laravel、2. 再利用可能なコンポーネントとモジュールを提供する Symfony、3. シンプルで強力な開発ツールと機能を提供する CodeIgniter、4. 豊富な機能を提供する Yii機能と柔軟な拡張性。

インターネット技術の発展とグローバル化の傾向に伴い、開発に Go 言語を使用する開発者が増えており、MVC フレームワークは広く使用されている Web フレームワークです。この記事では、開発者が MVC フレームワークをよりよく理解し、使用できるようにすることを目的として、Go 言語での MVC フレームワークの開発について詳しく紹介します。 1. MVC フレームワークの概要 MVC (Model-View-Controller) はソフトウェア開発におけるアーキテクチャ パターンであり、アプリケーションをモデルとビューの 3 つのコア部分に分割します。

PHP の mvc フレームワークには次のものが含まれます: 1. Laravel、多数のドキュメントとチュートリアルを提供する活発なコミュニティを持つ強力な MVC フレームワーク; 2. Symfony、高度にカスタマイズ可能なコンポーネントとバンドルの概念を提供する安定した強力な MVC フレームワーク; 3. CodeIgniter、シンプルで柔軟性があり、サイズが小さく実行速度も速いMVCフレームワーク、4. 豊富な機能を備えた高性能MVCフレームワークYii、5. 高性能MVCフレームワークPhalcon、6. CakePHPなど。

PHP の MVC フレームワークには、Laravel、Symfony、CodeIgniter、Yii、Phalcon、CakePHP、Zend Framework などが含まれます。詳細な紹介: 1. Laravel は現在最も人気のある PHP フレームワークの 1 つであり、ルーティング、ORM、データベース移行、テンプレート エンジンなど、多くの便利な機能とツールを提供しています。高性能の Web アプリケーションなどを迅速に構築できます。

PHP7.0のMVCフレームワークとは何ですか?インターネット アプリケーションの急速な開発に伴い、開発に PHP プログラミング言語を使用する Web サイトやエンタープライズ アプリケーションがますます増えており、MVC (Model-View-Controller) アーキテクチャが PHP 開発で一般的に使用されるアーキテクチャ パターンになっています。 MVC の基本的な考え方は、アプリケーションをモデル、ビュー、コントローラーの 3 つのモジュールに分割して、プログラムの保守性と拡張性を向上させることです。 PHP7では。
