AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
一直用php的mvc模式,但是一直没深入研究其原理性的东西,今天把最基本的mvc原理模型总结如下: 1、url访问方式  http://127.0.0.1:8080/ceshi.com/index.php?act=user&op=user 2、建立如下的目录结构 ![](https://images2015.cnblogs.com/blog/790610/201603/790610-20160310183008694-2062460996.png) 3、index.php入口文件 ~~~ //路由设置 $act = $_GET['act']; $class = $act.'Control';//获取类名 $op = $_GET['op'];//获取方法 //自动加载类 function __autoload($cla){ if(substr($cla,-7)=="Control"){//control $cla = str_replace("Control",'',$cla); require 'control/'.$cla.'.php'; }else{//model require 'model/'.$cla.'.php'; } } require('lib/func.php');//公用方法 $control = new $class(); $control->$op(); ~~~ 4、公共方法lib/func.php ~~~ function Model($model = null){ //$file_name = 'model/'.$model.'Model.php'; $class_name = $model.'Model'; //require($file_name); return new $class_name();//类名 } /** * 格式化打印数据 **/ function p($v,$k=false){ echo "<pre>";print_r($v);echo"</pre>"; $k && exit(); } ~~~ 5、Model基类model/Model.php ~~~ class Model{ public $mysqli = null; public function __construct(){ $this->mysqli = new MySQLi("localhost","root","","test"); } } ~~~ 6、Model子类(常用类)model/test.model.php ~~~ class testModel extends Model{ public function dataList(){ $sql = "select * from article"; $encode = $this->mysqli->query("set names gb2312"); $datalist = $this->mysqli->query($sql); $listarr = array(); while($row = $datalist->fetch_assoc()){ $listarr[] = $row; } return $listarr; } } ~~~ 7、control  control/user.php ~~~ class userControl{ public function user(){ //echo 'user'; $test_model = Model('test'); $list = $test_model->dataList(); include('view/user_list.php');//此处用模板引擎处理 p($list); } } ~~~ 8、视图文件 view/user.list.php ~~~ $arr = array('a',1,'b'); foreach($arr as $k=>$v){ echo $v.'<br />'; } ~~~ 9、最终结果 ![](https://images2015.cnblogs.com/blog/790610/201603/790610-20160331170519785-1909761188.png) If the copyright belongs to the longfei, please indicate the source!!!