MVC学习笔记
1.什么使MVC框架
MVC是一种软件开发框架,MVC将程序分为三个部分:模型层(M)、视图层(V)和控制层(C),对不同的层进行分层管理和控制,方便程序的修改和扩展
2. 为什么使用MVC框架
在PHP中使用MVC框架,可以实现了分层、分类开发,实现了web的分离,使前端代码与后端分离,某一层的调整,不会对另一层的代码和逻辑造成影响,使用MVC开发框架更加方便程序的扩展,使开发的代码整体更加清晰
3.MVC的含义
M(Model)模型层:提供了对数据库操作和链接的抽象层,主要完成大部分的业务逻辑和数据逻辑的处理
V(view)视图层:主要负责处理结果的显示(渲染),用于与用户进行交互
C(controller)控制层:根据请求进行相关的转发,调用相应的M(模型)对请求进行处理,并将请求结果返回给用户,决定结果的展示形式
浏览器向服务器发起请求,首先由控制器将URL拦截,根据URL中的参数调用相应的模型层,模型层操作数据库,并将操作结果返回给Controller(控制层),控制层调用View层的相关代码对结果进行渲染,View层将渲染结果呈现给用户。
4. MVC目录结构
项目根目录
|-app层
| |-controller
| |-model
| |-view
|-config
5.重定向的作用:
可以直接访问项目中的静态文件,除静态文件外,其他文件都有统一的程序入口,一般为index.php文件,如果使用nginx服务器则可以通过配置php.config中的重定向功能,是对应的字段重定向到指定路径下的指定入口文件,并将参数赋值给REQUEST_URI变量。PHP代码自身并不需要结束符号,不加结束符可以让程序更加安全,因为可以防止在程序的尾部注入
location / {
# 重新向所有非真是存在的请求到index.php
try_files $uri $uri/ /index.php$args;
}
6.入口文件
主要分为两类,一类为项目的入口文件,规定程序访问时的统一入口;另一类是每一模块的入口文件,可以实现对模块的统一管理。入口文件主要实现程序的一些初始化设置,例如一些基础类、配置文件、数据库和模式等。例如:
<?php define('APP_PATH', __DIR__ . '/');// 应用目录为当前目录 define('APP_DEBUG', true);// 开启调试模式 require(APP_PATH . 'fastphp/Fastphp.php');// 加载框架文件 $config = require(APP_PATH . 'config/config.php');// 加载配置文件 (new fastphp\Fastphp($config))->run();// 实例化框架类通常为程序中的bootstrap.php文件
7.配置文件:
配置文件分为两种,一种为程序的全局配置,例如数据库、默认控制器名和操作名等;另一种为局部配置,这种模块配置只有当访问到相关文件时,才会被对应的加载。全局的配置文件一般为命名为co