回顾
经过前三篇文章 基础准备 、 构建路由 和 设计 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 项:
"illuminate/database": "*"
运行 composer update ,等待安装完成。
使用 Eloquent
修改 public/index.php 为:
<?phpuse Illuminate\Database\Capsule\Manager as Capsule;// Autoload 自动载入require ‘../vendor/autoload.php‘;// Eloquent ORM$capsule = new Capsule;$capsule->addConnection(require ‘../config/database.php‘);$capsule->bootEloquent();// 路由配置require ‘../config/routes.php‘;
新增 config/database.php (注意替换数据库密码):
<?phpreturn [ ?‘driver‘ ???=> ‘mysql‘, ?‘host‘ ?????=> ‘localhost‘, ?‘database‘ ?=> ‘mffc‘, ?‘username‘ ?=> ‘root‘, ?‘password‘ ?=> ‘password‘, ?‘charset‘ ??=> ‘utf8‘, ?‘collation‘ => ‘utf8_general_ci‘, ?‘prefix‘ ???=> ‘‘ ?];
修改 models/Article.php :
<?php/*** Article Model*/class Article extends Illuminate\Database\Eloquent\Model{ ?public $timestamps = false;}
controllers/HomeController.php 无需改动。
刷新,页面依旧:
恭喜你!Eloquent 使用成功!
利用 Composer 一步一步构建自己的 PHP 框架(四)
原文地址:https://www.cnblogs.com/gan-wenjun/p/8185893.html