mvc 从0打造自己的框架
来源:互联网 发布:数据侠客行好看吗 编辑:程序博客网 时间:2024/06/07 09:47
入口文件->定义常量->引入函数库->自动加载类->启动框架->路由解析->加载控制器->返回结果01先从入口文件开始;<pre>1:定义常量,
当前框架的根目录
核心文件在的目录
项目在的目录define('mvc',realpath('./'));
define('core',mvc.'/core');define('app',mvc.'/app');define('MODULE','app');<pre name="code" class="html"><pre>2:加载函数库
3:启动框架02:自动加载类
当我们new的类不存在的时候,会自动加载。static public function load($class) { if(isset($classMap[$class])) { return true; } else { $class=str_replace('\\','/',$class); $file=mvc.'/'.$class.'.php'; if(is_file($file)) { include $file; self::$classMap['class']=$class; } else { return false; } } }
使用方法:spl_autoload_register('\core\imooc::load');
03:路由类1:隐藏index.php2:获取URL 参数部分3:返回对应的控制器方法名if(isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '/') { $path=$_SERVER['REQUEST_URI']; $patharr = explode('/',trim($path,'/')); //p($patharr);die; if(isset($patharr[0])) { $this->ctrl =$patharr[0]; } unset($patharr[0]); if(isset($patharr[1])) { $this->action =$patharr[1]; unset($patharr[1]); } else { $this->action=conf::get('ACTION','route'); } //p($patharr);die; //url多余部分转成get请求 //id/1 $count=count($patharr)+2; $i=2; while($i < $count) { if(isset($patharr[$i+1])) { $_GET[$patharr[$i]] = $patharr[$i + 1]; } $i = $i + 2; } unset($_GET['url']); //p($_GET); } else { $this->ctrl=conf::get('CTRL','route'); $this->action=conf::get('ACTION','route'); }04:路由解析 根据路由类返回对应的控制器方法名,来进行包含相应的控制器方法名。05:模型类继承 \PDO来连接数据库class model extends \PDO{ function __construct() { $database = conf::all('database'); try{ parent::__construct($database['DSN'],$database['USERNAME'],$database['PASSWD']); } catch(\PDOException $e) { p($e->getMessage()); } }}
06:视图类用 assign ,display 两个方法;$data="Hello World";$title="视图文件";$this->assign('data',$data);$this->assign('title',$title);$this->display('index.html');
0 0
- mvc 从0打造自己的框架
- 从0打造自己的mvc框架
- 从0打造自己的mvc框架2
- 打造自己的MVC框架
- 从0打造自己的mvc框架2-1 -2-3总结
- 从0打造自己的mvc框架2-4 -2-7总结
- 从0打造自己的mvc框架配置类及日志类
- 从0打造自己的mvc框架3-3-3-4
- 从0打造自己的mvc框架3-5 -3-6
- php打造属于自己的MVC框架-
- 打造我们自己的MVC框架
- php打造属于自己的MVC框架
- 打造属于自己的mvc框架
- 用composer 快速打造自己的PHP MVC框架
- MVC源码学习:打造自己的MVC框架(一:核心原理)
- 深入理解ASP.NET MVC(目录)、打造自己的MVC框架
- 打造自己的注解框架
- 打造自己的php框架
- this指针
- 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件
- 执行rpm -Uvh xxxxxx.rpm, 报freely redistributed under the terms of the GNU GPL
- 经典算法之棋盘覆盖问题 --分治法
- 东南大学美术学考研2010-2016年复试分数线【汇总】
- mvc 从0打造自己的框架
- UART
- Spring@Autowired注解与自动装配
- Solid
- linux进程数限制
- poj 1659 Frogs' Neighborhood
- 开源中国 signingConfigs常量gradle.properties问题
- ExtJs 实现点击修改DOM样式 增删clssName
- 写一个设置Cookie值得封装函数