博主信息
博文 26
粉丝 1
评论 2
访问量 27106
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
10月31日作业练习mvc的实现原理
星空的博客
原创
931人浏览过

一、什么是MVC?

答: M:model(模型):

        V:view(视图):

        C:controller(控制器):

     

二、 新建一个入口文件 index.php

实例

<?php

//路由解析
   //路由赋值给变量
	$server = $_SERVER;
	$path_info = $_SERVER['PATH_INFO'];    
	$script_name = $_SERVER['SCRIPT_NAME']; // /index.php
	$request_url = $_SERVER['REQUEST_URI']; //index.php/home/index

	$path = ltrim($path_info,'/'); //去掉左边的/

	//解析Controller 和 method
	
	$controller_method = explode('/',$path); //把路由地址按/去掉,然后变成数组

	//ucfirst 把第一个字母变大写字母
	
	$controller_method[0] = ucfirst($controller_method[0]); 


	$controller = $controller_method[0];  //把路由数组 付给变量
	$method = $controller_method[1];      //把路由数组 付给变量


	require __DIR__. '/controller/'.$controller_method[0].'.php';  //引入控制器的脚本

	$obj = new $controller();   //创建对象
	$res = $obj->$method();     //执行控制里对象里的方法,赋值给变量

	exit($res);   //结束,输出变量



?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


三、 建立控制器:controller 文件夹,模型:model 文件夹, 视图:view文件夹,用于存放相关脚本文件。

QQ截图20191102224759.png


四、再创建控制器脚本及视图脚本。

1.控制器脚本:创建一个类,里面有两两个方法!

实例

<?php

//创建一个类,里面有两两个方法!
class Home{
        //方法:输出 hello,mvc
	public function index(){

		echo 'hello MVC';
	}
        //方法:连接到视图脚本
	public function welcome(){
		require __DIR__.'/../view/welcome.php';
	}

}


?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


2。视图脚本:视图脚本,输出文字,及当期时间! 最后被控制器引入,然后被当成控制器的方法输出!

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>welcome to liuzhou</title>
</head>
<body>
            //视图脚本,输出文字,及当期时间! 最后被控制器引入,然后被当成控制器的方法输出!
            
	 <div style="font-size: 24px; text-align: center;color: red;">welcome to liuzhou</div>
		 <?php echo date('Y-m-d H:i:s'); ?>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


总结:老师你好,请看我的注释,我是这么理解的,还有模型没有做好,希望老师指导思想!





批改状态:合格

老师批语:注释没什么问题, 模型写好再交也不迟的, 不必太着急
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学