博客列表 >10月31日作业练习mvc的实现原理

10月31日作业练习mvc的实现原理

星空的博客
星空的博客原创
2019年11月02日 22:58:26727浏览

一、什么是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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议