想了解PHP-MVC框架的原理和实现方式是什么?在这里,
PHP框架是什么?
http://baike.baidu.com/link?url=3IBWTY1jzqQiHAfVWRn6BzXvkUxkWTDffhe7_J4o7Eqs2Hxp06PMnAXsK82vGdnQEfEYuueszQ3_EFdxMUOvEa
MVC是什么?
http://baike.baidu.com/view/5432454.htm?fromtitle=mvc&fromid=85990&type=syn
源码地址:
https://github.com/lixuancn/LaneSmartFW
开源协议:
Do What The Fuck You Want To Public License
一、起名:
先给我们的PHP-MVC框架起个名字,叫宇宙无敌框架UniverseInvincibleFrameWork
二、实现功能
1、MVC分层
2、唯一入口
3、关键常量可配置
4、自动载入函数
5、路由分发
6、数据库工厂
7、多数据支持
8、多项目支持
三、详细分解如何PHP-MVC框架
1、MVC分层
1)、目录结构
2)、目录简介
(1)、Home、Admin是项目名,可以无限扩展
(2)、Config是配置文件所在目录,UniverseInvincibleFrameWork是框架核心文件所在目录
(3)、Index.php是唯一入口文件
(4)、Home目录下就是标准的Controller、Model、View,另外新增了Service
(5)、UniverseInvincibleFrameWork目录下是核心框架入口类、自动载入类、路由类已经数据库文件所在的DB目录
(6)、DB目录是数据库相关操作.比如数据库工厂类,接口规范类,CURD操作等.
2、唯一入口
1)、采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目都有一个统一的入口.
2)、只需要引入框架核心文件App.php,然后执行该类的方法
/**
* 宇宙无敌框架UniverseInvincibleFrameWork
* 唯一入口
* Created by lixuan-it@360.cn
* User: lane
* E-mail: lixuan868686@163.com
* WebSite: http://www.lanecn.com
*/
//引入框架核心文件
require_once 'UniverseInvincibleFrameWork/App.php';
//初始化框架
$obj = new UniverseInvincibleFrameWork\App();
$obj->init();
3)、框架核心文件源码:
namespace UniverseInvincibleFrameWork;
class App{
public function init(){
//设置头 - utf-8
$this->_setHeader();
//载入系统配置文件
$this->_loadSysFile();
//自动载入函数
$this->_setAutoload();
//设置路由
$this->_setRoute();
}
/**
* 载入系统配置文件
*/
private function _loadSysFile(){
require_once dirname(__FILE__).'/Function.php';
//1、 require_once dirname(__FILE__).'/../config/config.php';
//2、$GLOBALS['config'] = config.php的所有内容
$GLOBALS['config'] = require_once dirname(__FILE__).'/../config/config.php';
}
/**
* 头
*/
private function _setHeader(){
header('Content-type: text/html; charset=UTF-8');
}
/**
* 自动载入函数
*/
private function _setAutoload(){
//自动载入函数
require_once dirname(__FILE__).'/../UniverseInvincibleFrameWork/Autoload.php';
$autoload = new Autoload();
$autoload->register();
}
/**
* 设置路由
*/
private function _setRoute(){
$routeObj = new Route();
$routeObj->parse();
}
}
以上就是济南PHP培训