# mvc_s64 **Repository Path**: knvb/mvc_s64 ## Basic Information - **Project Name**: mvc_s64 - **Description**: 我们的MVC - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2017-07-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #mvc_s64 ##1. mvc 的定义 - M Model 模型层 - V View 视图层 - C Controller 控制器 `公共的模型层 M, 模版视图文件 V, 一般来说:一个模块,对应一个类,对应一个控制器 C` ##2. mvc 优势 - 高内聚 低耦合 - 易于维护 - 代码可读性 - 单一入口 index.php ##3. mvc缺点 - 执行效率有所降低: OOP - 学习难度较大 ##4. mvc 实例 ###4.1 mvc 1.0 目录结构 |-- models 模型层 |-- views 视图层 |-- controllers 控制器 |-- configs 配置文件 index.php 入口文件 URL: index.php?c=控制器&a=方法名 index.php?c=User&a=add ###4.2 mvc 2.0 自动加载类 ###4.3 mvc 3.0 目录结构 |-- models 模型层 |-- views 视图层 |-- libs smarty模版引擎 |-- runtime 运行目录 |-- views_c 编译文件目录 |-- caches 缓存目录 |-- controllers 控制器 |-- configs 配置文件 index.php 入口文件 引入模版引擎 ###4.4 mvc 4.0 添加控制基类 ###4.5 mvc 5.0 完善的增删改查 及 其他功能 ###4.6 mvc 6.0[扩展] 优化URL ./index.php?c=User&a=index 目前的URL ./index.php/User/add 优化成用path模式 ./index.php/User/add.html 再加上静态后缀 localhost/User/add.html 再省略index.php部分 tips: $_SERVER['PATHINFO']; rewrite模块要打开 .htaccess Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]