用 Composer构建自己的 PHP 框架之使用 ORM
回顾
经过前三篇文章基础准备、构建路由和设计MVC,我们已经得到了一个结构比较完整的MVC架构的PHP微框架,但是距离一个真正能够上手使用的框架还差一样东西:数据库封装,本篇就将讲述如何集成一个ORMComposer包。
本篇是本系列最后一篇,接下来我可能会以让我们开了又开的Composer包为系列标题分享一些体验和感悟,将主要发表在本站上。
正文
我们选择Laravel的illuminate/database作为我们的ORM包。我试用了几个著名的ORM,发现还是Laravel的Eloquent好用!让我们开心的ORM,开了又开!:-D
在本系列教程里,每一个Composer包都要满足以下基本要求:
原生依赖Composer进行管理
在好用的基础上尽量简单(比如我们那个超简单的路由包)
尽量新,用上PHP的新特性
说到PHP的新特性,有句题外话。PHP5.3引入了命名空间,这是规划在PHP6中的功能,所以PHP5.3在一定程度上其实就是PHP6,PHP的下一个版本是PHP7,即将发布,主要贡献者是大名鼎鼎的鸟哥@Laruence。另外本台前方记者(就是我)刚刚从微博发来报道,鸟哥正在放大招,制造传说中PHP7onJIT,我大PHP的历史车轮是无法阻挡的哈哈哈!:-P
安装illuminate/database
给composer.json增加一个require项:
"illuminate/database":"*"
运行composerupdate,等待安装完成。
使用Eloquent
修改public/index.php为:
<?php
useIlluminate\Database\Capsule\ManagerasCapsule;
//Autoload自动载入
require'../vendor/autoload.php';
//EloquentORM
$capsule=newCapsule;
$capsule->addConnection(require'../config/database.php');
$capsule->bootEloquent();
//路由配置
require'../config/routes.php';