PHP——MVC形式解说与实例【php教程】,MVC
二、MVC观点
(1)作用
MVC包含控制器(Controller),模子(Model),视图(View)。
控制器的作用是挪用模子和 视图,将模子发生的数据传递给视图,并让视图去显现
模子的作用是猎取数据并处置惩罚返回数据
视图的作用是将获得的数据举行美化,并向用户终端输出
(2)实行历程
1. 阅读者 -> 挪用控制器,发出指令
2. 控制器 -> 按指令挑选适宜的模子
3. 模子 -> 按指令取数据
4. 控制器 -> 按指令选视图
5 . 视图 -> 把取到的数据展现出来
三、简朴的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.运转效果
四、简朴的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相干题目请接见ki4网:PHP视频教程
以上就是PHP——MVC情势解说与实例的细致内容,更多请关注ki4网别的相干文章!