<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="利用Composer构建自己的PHP框架 第四步：使用 ORM" id="card1">
<p> 游客</p><p>
标题:利用Composer构建自己的PHP框架 第四步：使用 ORM<br/>
正文:<br/>
回顾经过前三篇文章 基础准备 、 构建路由 和 设计 MVC ，我们已经得到了一个结构比较完整的 MVC 架构的 PHP 微框架，但是距离一个真正能够上手使用的框架还差一样东西： 数据库封装 ，本篇就将讲述如何集成一个 ORM Composer 包 。本篇是本系列最后一篇，接下来我可能会以 让我们开了又开的 Composer 包 为系列标题分享一些体验和感悟，将主要发表在本站上。正文我们选择 Laravel 的 illuminate/database 作为我们的 ORM 包。我试用了几个著名的 ORM，发现还是 Laravel 的 Eloquent 好用！让我们开心的 ORM，开了又开！ :-D在本系列教程里，每一个 Composer 包都要满足以下基本要求：原生依赖 Composer 进行管理在好用的基础上尽量简单（比如我们那个超简单的路由包）尽量新，用上 PHP 的新特性说到 PHP 的新特性，有句题外话。 PHP5.3 引入了命名空间，这是规划在 PHP6 中的功能，所以 PHP5.3 在一定程度上其实就是 PHP6 ，PHP 的下一个版本是 PHP7 ，即将发布，主要贡献者是大名鼎鼎的 鸟哥 @Laruence 。另外本台前方记者（就是我）刚刚从微博发来报道，鸟哥正在放大招，制造传说中 PHP7 on JIT ，我大 PHP 的历史车轮是无法阻挡的哈哈哈！:-P安装 illuminate/database给 composer.json 增加一个 require 项：&amp;quot;illuminate/database&amp;quot;: &amp;quot;*&amp;quot;运行 composer update ，等待安装完成。使用 Eloquent修改 public/index.php 为：代码如下: &amp;lt;?phpuse Illuminate\Database\Capsule\Manager as Capsule;// Autoload 自动载入require '../vendor/autoload.php';// Eloquent ORM$capsule = new Capsule;$capsule-&amp;gt;addConnection(require '../config/database.php');$capsule-&amp;gt;bootEloquent();// 路由配<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2042&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2042&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2042&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2042&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2042&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2042">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2042">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>