宝哥软件园

手工编写PHP框架 深入了解MVC运行过程

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

1什么是MVC

MVC (Model-View-Controller)是软件工程中的一种软件架构模式,它将软件系统分为三个基本部分:模型、视图和控制器。

PHP中的MVC模式,也称为Web MVC,是从70年代发展而来的。MVC的目的是实现一个动态的程序设计,方便程序的后续修改、扩展和简化,使程序的某一部分复用成为可能。此外,该模型通过简化复杂度使程序结构更加直观。软件系统不仅分离其基本部分,而且赋予每个基本部分应有的功能。

MVC各部分的功能:模型模型——管理大部分业务逻辑和所有数据库逻辑。该模型为连接和操作数据库提供了一个抽象层。控制器-负责响应用户请求,准备数据,并决定如何呈现数据。视图视图负责呈现数据并以HTML形式呈现给用户。

一个典型的Web MVC流程:1。1。控制器拦截用户发送的请求;2.2。控制器调用模型完成状态的读写操作;3.3。控制器将数据传输到视图;4.视图呈现最终结果并将其呈现给用户。

为什么要自己开发MVC框架

网上有很多优秀的MVC框架。本教程不是为了开发一个全面的、终极的MVC框架解决方案,而是把它看作是一个从内部学习PHP的好机会。在这个过程中,你将学习面向对象编程和MVC设计模式,并学习一些开发中的注意事项。

更重要的是,您可以完全控制您的框架,并将您的想法集成到您开发的框架中。虽然可能做得不好,但是可以用自己的方式开发功能和模块。

3开始开发自己的MVC框架

3.1目录编制

在开始开发之前,让我们先设置项目。假设我们设置的项目是todo,MVC框架可以命名为FastPHP,那么下一步就是先设置目录结构。

虽然在本教程中不会用到上述所有目录,但为了将来扩展程序,有必要在开始时设置程序目录。让我们来谈谈每个目录的功能:应用程序-应用程序代码配置-程序配置或数据库配置fastphp框架核心目录公共-静态文件运行时-临时数据目录脚本-命令行工具

3.2代码规范

目录建立后,我们将指定代码规格:1。MySQL表名应该是小写的,比如:item,car2。模型应该以第一个字母大写,名字后面加“Model”,如:ItemModel、CarModel3。控制器应该以首字母大写。在名称中添加“控制器”,例如:项目控制器,CarController4。view的部署结构是“控制器名/行为名”,比如:item/view.php、car/buy.php

上面的一些规则是为了在程序中更好地调用对方。接下来,真正的PHP MVC编程开始了。

3.3重定向

将所有数据请求重定向到index.php文件,并创建一个新的。待办事项目录中的htaccess文件。文件内容是:

如果mod _ rewrite.c重写引擎在#上,请确保请求路径不是文件名或目录重写结束% {request _ filename}!-f Rewrite cond % { REQUEST _ FILENAME }!-d #将所有请求重定向到index.php?url=路径名重写器^(.*)$ index.php?Url=$1 [PT,L]/IfModule出现这种情况的主要原因如下:1。该程序只有一个条目;2.除静态程序外,所有程序都被重定向到index.php;3.可以用来生成对SEO有益的网址。如果想更好的配置URL,后期可能需要URL路由,这里就不介绍了。

3.4入境文件

完成以上操作后,我们应该知道我们需要做什么,没错!在公共目录中添加一个index.php文件,文件内容为:

?php/应用目录为当前目录定义(' APP_PATH ',__DIR__).'/');//开启调试模式define('APP_DEBUG ',true);//网站根URLdefine('APP_URL ',' http://localhost/fastphp ');//加载框架要求/FastPHP/FastPHP。PHP ';注意,上面的服务器端编程语言(专业超文本预处理器的缩写)代码

更多资讯
游戏推荐
更多+