完整项目地址:https://github.com/Evai/Aier

我们选择 Laravel 的 illuminate/database 作为我们的 ORM 包。

在本系列教程里,每一个 Composer 包都要满足以下基本要求:

  1. 原生依赖 Composer 进行管理
  2. 在好用的基础上尽量简单(比如我们那个超简单的路由包)
  3. 尽量新,用上 PHP 的新特性

说到 PHP 的新特性,有句题外话。 PHP5.3 引入了命名空间,这是规划在 PHP6 中的功能,所以 PHP5.3 在一定程度上其实就是 PHP6 ,PHP 的下一个版本是 PHP7 ,即将发布,主要贡献者是大名鼎鼎的 鸟哥 @Laruence 。

安装 illuminate/database

给 composer.json 增加一个 require 项:

"illuminate/database": "*"

运行 composer update ,等待安装完成。

使用 Eloquent

修改 public/index.php 为:

<?php

use 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 (注意替换数据库密码):

<?php

return [

  'driver'    => 'mysql',

  'host'      => 'localhost',

  'database'  => 'articles',

  'username'  => 'root',

  'password'  => 'password',

  'charset'   => 'utf8',

  'collation' => 'utf8_general_ci',

  'prefix'    => ''

  ];

修改 models/Article.php :

<?php

class Article extends Illuminate\Database\Eloquent\Model

{

      public $timestamps = false;

      public $table = 'article';
}

controllers/HomeController.php 无需改动。

刷新页面依旧。

恭喜你!Eloquent 使用成功!

Eloquent 更多用法

Eloquent 异常强大 ,可以说是 Laravel 中 最特别 、 最有价值 的部分。

Eloquent 更多用法参见:Eloquent ORM 中文文档

最新文章

  1. 【webGL】插件的使用的,实现一个鼠标动画的盒子
  2. C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
  3. 读取ini配置文件
  4. BZOJ3325 : [Scoi2013]密码
  5. Uploadify上传问题
  6. 最大流 Dinic
  7. js获得浏览器页面高宽
  8. BZOJ 2326 数学作业(矩阵)
  9. C# Debug与release之间的一些小差异
  10. Aircrack-ng 工具箱
  11. pca图像识别
  12. MinGW 使用 msvcr90.dll
  13. CG之refract函数简单实现
  14. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
  15. SSM-Spring-11:Spring中使用代理工厂Bean实现aop的四种增强
  16. String.split()与StringUtils.split()
  17. 【windows核心编程】双机调试操作
  18. 高级定时器TIM1&amp;TIM8
  19. 添加外键式异常 1215-cannot add foreign key constranint
  20. 微信图片生成插件,页面截图插件 html2canvas,截图失真 问题的解决方案

热门文章

  1. Bluetooth---初步了解Android 蓝牙4.0
  2. php面试题8
  3. [Compose] 11. Use Task for Asynchronous Actions
  4. php实现二叉树遍历
  5. 深度学习代码注解(一)—— mnistdeepauto
  6. Mybatis中sql语句中的in查询,一定要判断null的情况
  7. 怎样在log4j.xml配置文件中引入变量:小公司经验较多的我和阿里UC等大公司经验较多的Boss,一些技术交流和探讨
  8. Linux中mv重命名作用及打包war压缩文件及分配权限
  9. AppStoreID--安装URL--应用更新URL--应用评分URL
  10. Enhancing network controls in mandatory access control computing environments