• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php源码之实现MVC结构微型框架

php 搞代码 4年前 (2022-01-22) 19次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了关于php源码之实现MVC结构微型框架,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

主要:

  1. 常量优化路径

  2. 自动加载类

  3. 优化入口文件

  4. 安全访问项目目录


----------------------------------------------------blog├─App│  ├─Model 模型│  │  └─UserModel.class.php 用户模型类    │  ├─View 视图│  │  ├─Back后台│  │  │  └─Index│  │  │          └─index.html  后台首页面│  │  └─Home前台│  │      └─User 用户视图目录│  │             └─login.html  登录表单页面│  ├─Controller 控制器│  │  ├─Back后台│  │  │  └─IndexController.class.php 后台首页控制器│  │  └─Home前台│  │      └─UserController.class.php 用户控制器├─Public   静态公共文件(js,css,images)│  ├─Plugins 插件│  │  └─layui 前端框架插件│  ├─Back后台│  │    ├─js/   js文件│  │    ├─css/  css样式文件│  │    └─image img图片 │  └─Home前台│      ├─js/   js文件│      ├─css/  css样式文件│      └─image img图片 ├─Frame 公共使用的类│   ├─BaseModel.class.php 数据库连接类│   ├─BaseController.class.php 控制器公共操作(设置编码,信息跳转)│   ├─FactoryModel.class.php  模型工厂类│   ├─Init.class.php  初始化应用类│   └─MySQLDB.class.php 数据库操作工具类└─index.php  入口文件-----------------------------------------------------------------

上一篇中,提出4个问题待解决,本篇集中解决这4个问题,最终形成完整的微型MVC框架结构, 后续博客项目,或其他项目,均可以直接使用该框架结构进行开发学习。

下载查看该项目源码: https://gitee.com/NewbiesYang/young_blog

常量优化路径

准备: 创建分支

1 $ git checkout master2 $ git checkout -b "MVC"

  思路

  1)把常用的目录路径定义成常量。如 模型目录,控制器目录等
 2)引入类使用定义的常量替代部分路径。 如 include FRAME.BaseModel.class.php
3) 载入视图使用常量替代部分路径 如 include VIEW.'login.html' 简单形式

  代码实现

1)操作步骤

step 1: 在入口文件中定义所需要的常量step 2: 控制器中引入视图时, 使用常量进行优化

操作步骤思路

2) 入口文件中定义常用路径常量 【index.php】

 1 <?php  2 /**  3  * 入口文件  4  */  5 $p = !empty($_GET['p']) ? $_GET['p'] :<b style="color:transparent">来&源gao@dai!ma.com搞$代^码%网</b><img>搞gaodaima代码</img> 'Home';  //平台  6 $c = !empty($_GET['c']) ? $_GET['c'] : 'User';  //控制器  7 $a = !empty($_GET['a']) ? $_GET['a'] : 'login'; //动作  8   9 define('PLAT', $p);  //平台常量 10 define('CTR', $c);  //控制器 11 define('ACTION', $a); //动作 12  13  14 define('DS', DIRECTORY_SEPARATOR); //目录分割符 15 define('ROOT', getcwd().DS);  //当前所在目录 项目目录 16 define('FRAME', ROOT.'Frame'.DS); 17 define('APP', ROOT.'App'.DS); 18 define('PUB', ROOT.'Public'.DS); 19 define('ADMIN', PUB.'Admin'.DS); 20 define('HOME', PUB.'Home'.DS); 21  22 //MVC目录 23 define('MODEL', APP.'Model'.DS); 24 define('VIEW', APP.'View'.DS.PLAT.DS.CTR.DS); 25 define('CTRONLLER', APP.'Controller'.DS.PLAT.DS); 26  27 $ctr = $c."Controller"; 28  29 require_once FRAME.'Db.class.php';  //数据库操作类 30 require_once FRAME.'BaseModel.class.php';  //基础模型类 31 require_once MODEL.'UserModel.class.php';  //用户模型类 32 require_once FRAME.'FactoryModel.class.php';//模型工厂类 33 require_once FRAME.'BaseController.class.php'; //基础控制器类 34 require_once CTRONLLER.$ctr.'.class.php'; 35  36  37 //实例化控制器 38 $userCtr = new $ctr(); 39  40 $userCtr -> $a();

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php源码之实现MVC结构微型框架

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址