ホームページ > バックエンド開発 > PHPチュートリアル > PHP での MVC フレームワークのシンプルな実装

PHP での MVC フレームワークのシンプルな実装

WBOY
リリース: 2016-06-13 12:27:50
オリジナル
1033 人が閲覧しました

PHP での MVC フレームワークの簡単な実装

1. 概要

MVC の正式名称は、Model-View-Controller の略で、ソフトウェアのモデルの一種です。ビジネス ロジック、データ、およびインターフェイス表示を分離する方法を使用してコードを整理し、ビジネス ロジックを 1 つのコンポーネントに収集すると同時に、インターフェイスとユーザー インタラクションを改善およびカスタマイズする設計です。ビジネス ロジックを書き直す必要はありません。 MVC は、従来の入力、処理、出力機能を論理的なグラフィカル ユーザー インターフェイス構造にマッピングするために独自に開発されました。

2. コードの構造

3. コードの実装

<?php        //function.php  	//控制器调用函数	function C($name, $method){		require_once('libs/Controller/'.$name.'Controller.class.php');		//$testController = new testController();		//$testController->show();		eval('$obj = new '.$name.'Controller(); $obj->'.$method.'();');	}	//模型调用函数	function M($name){		require_once('libs/Model/'.$name.'Model.class.php');		eval('$obj = new '.$name.'Model();');		return $obj;	}	//视图调用函数	function V($name){		require_once('libs/View/'.$name.'View.class.php');		eval('$obj = new '.$name.'View();');		return $obj;	}	//过滤非法值	function daddslashes($str){		return (!get_magic_quotes_gpc())?addslashes($str):$str;	}?>
ログイン後にコピー

<?php//test.php/*第一步 浏览者 -> 调用控制器,对它发出指令第二步 控制器 -> 按指令选取一个合适的模型第三步 模型 -> 按控制器指令取相应数据第四步 控制器 -> 按指令选取相应视图第五步 视图 -> 把第三步取到的数据按用户想要的样子显示出来*/require_once('View/testView.class.php');require_once('Model/testModel.class.php');require_once('Controller/testController.class.php');$testController = new testController();$testController->show();?>
ログイン後にコピー

<?php//testController.class.php/*控制器的作用是调用模型,并调用视图,将模型产生的数据传递给视图,并让相关视图去显示*/	class testController{		function show(){			/*$testModel = new testModel();			$data = $testModel->get();			$testView = new testView();			$testView->display($data);*/			$testModel = M('test');			$data = $testModel->get();			$testView = V('test');			$testView->display($data);		}	}?>
ログイン後にコピー

<?php//testModel.class.php/*模型的作用是获取数据并处理,返回数据*/	class testModel{		function get(){			return "hello world";		}	}?>
ログイン後にコピー

<?php//testView.class.php/*视图的作用是将获得的数据进行组织,美化等,并最终向用户终端输出*/	class testView{		function display($data){			echo $data;		}	}?>
ログイン後にコピー

実行結果:

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