2、MVC概念
(1)作用
MVC包罗管制器(Controller),模子(Model),视图(View)。
管制器的作用是挪用模子以及 视图,将模子孕育发生的数据通报给视图,并让视图去显示
模子的作用是猎取数据并解决前往数据
视图的作用是将获得的数据进行丑化,并向用户终端输入
(2)执行进程
1. 阅读者 -> 挪用管制器,收回指令
2. 管制器 -> 按指令抉择合适的模子
3. 模子 -> 按指令取数据
4. 管制器 -> 按指令选视图
5 . 视图 -> 把取到的数据展现进去
3、简略的MVC实例
(1)目次布局
(2)编写类文件
1. testController.class.php 管制器类文件
定名规定:test(名字)Controller(管制器文件).class.php ( 类文件 )
<!-- 起首实例化管制器工具,并挪用指令办法, 办法外面实例化模子工具,挪用取数据办法 并实例化视图工具,挪用展现办法 --> <!-- 管制器的办法不参数,而其余的就有参数 --> <?php // 类名以及文件名相反 class testController{ function show(){ $testModel = new testModel();//按指令抉择一个模子 $data = $testModel -> get();//模子依照指令取数据 //按指令抉择视图 实例化一个view的工具 $testView = new testView(); //把取到的数据按用户的样子显示进去 $testView -> display($data); } } ?>
2. testModel.class.php 模子类文件
定名规定:test(模子文件称号 )Model( 模子文件).class.php 类文件
<?php class testModel{ //猎取数据 function get(){ return "hello world"; } } ?>
3. testView.class.php 视图类文件
<?php class testView{ //展现数据 function display($data){ echo $data; } } ?>
4. 繁多入口文件
让他来挪用管制器,而管制器去挪用模子以及视图
<?php //引入类文件 require_once('/libs/Controller/testController.class.php'); require_once('/libs/Model/testModel.class.php'); require_once('/libs/View/testView.class.php'); //类的实例化 $testController = new testController();//工具赋值给变量 $testController->show();//挪用办法 ?>
5.运转后果
4、简略的MVC实例改良----办法封装
1. 封装一个实例化管制器等的工具以及挪用办法的函数
<?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.'();');//把字符串转换为可执行的php语句 } //封装一个实例化模子的工具以及挪用办法的函数 function M($name){ require_once('/libs/Model/'.$name.'Model.class.php'); //$testModel = new testModel(); eval('$obj = new '.$name.'Model();');//实例化 return $obj; } //封装一个实例化视图的工具以及挪用办法的函数 function V($name){ require_once('/libs/View/'.$name.'View.class.php'); //$testView = new testView(); eval('$obj = new '.$name.'View();'); return $obj; } //为了平安性 ,过滤函数 //addslashes对’,字符进行本义 //get_magic_quotes_gpc()以后邪术符号的关上状态,关上前往true, function daddslashes($str){ return (!get_magic_quotes_gpc() )? addslashes($str) : $str; } ?>
2.从新编写入口文件index.php
阅读器url拜访方式 http://......index.php?controller=管制器名&method=办法名
<?php require_once('function.php'); //容许拜访的管制器名以及办法名的数组 $controllerAllow=array('test','index'); $methodAllow =array('test','index','show'); //用get形式接纳url中的参数 //过滤输出合法字符 并判别能否正在数组里 $controller = in_array($_GET['controller'],$controllerAllow )? daddslashes($_GET['controller']) :'index' ; $method = in_array($_GET['method'],$methodAllow) ? daddslashes($_GET['method']) :'index'; //挪用管制器以及执行办法 C($controller,$method); ?>
3.运转后果
阅读器拜访 http://localhost:8080/MVC/index.php?controller=test&method=show 显示hello world
想理解更多PHP相干成绩请拜访PHP中文网:PHP视频教程
以上就是PHP——MVC模式解说与实例的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 MVC
抱歉,评论功能暂时关闭!