PHP开发一个属于自己MVC框架,PHP开发一个属于自己MVC框架(一)

想了解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培训

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值