热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

varis_mobinavigator.userAgent.toLowerCase().match((ipod|iphone|android|coolpad|mmp|smartph

一、什么是MVC?

答: M:model(模型):

        V:view(视图):

        C:controller(控制器):

     

二、 新建一个入口文件 index.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文件夹,用于存放相关脚本文件。

实例

//创建一个类,里面有两两个方法!
class Home{
        //方法:输出 hello,mvc
public function index(){
echo 'hello MVC';
}
        //方法:连接到视图脚本
public function welcome(){
require __DIR__.'/../view/welcome.php';
}
}
?>


运行实例 »

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


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

实例








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


 


运行实例 »

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


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






推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • ECharts 官方提供了丰富的图表示例,但实际项目中往往需要从后端动态获取数据。本文将详细介绍如何从后端获取数据并将其转换为 ECharts 所需的 JSON 格式,以实现动态饼图的展示。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了如何在Unity中实现一个简单的广告牌着色器,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
author-avatar
用户3w7mnpewca
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有