利用 Composer 一步一步构建本身的 PHP 框架(四)

回顾

通过前三篇文章 基础准备 、 构建路由 和 设计 MVC ,咱们已经获得了一个结构比较完整的 MVC 架构的 PHP 微框架,可是距离一个真正可以上手使用的框架还差同样东西: 数据库封装 ,本篇就将讲述如何集成一个 ORM Composer 包 。php

本篇是本系列最后一篇,接下来我可能会以 让咱们开了又开的 Composer 包 为系列标题分享一些体验和感悟,将主要发表在本站上。html


正文

咱们选择 Laravel 的 illuminate/database 做为咱们的 ORM 包。我试用了几个著名的 ORM,发现仍是 Laravel 的 Eloquent 好用!让咱们开心的 ORM,开了又开! :-Dmysql

在本系列教程里,每个 Composer 包都要知足如下基本要求:git

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

 

说到 PHP 的新特性,有句题外话。 PHP5.3 引入了命名空间,这是规划在 PHP6 中的功能,因此 PHP5.3 在必定程度上其实就是 PHP6 ,PHP 的下一个版本是 PHP7 ,即将发布,主要贡献者是大名鼎鼎的 鸟哥 @Laruence 。另外本台前方记者(就是我)刚刚从微博发来报道,鸟哥正在放大招,制造传说中 PHP7 on JIT ,我大 PHP 的历史车轮是没法阻挡的哈哈哈!:-Pgithub

安装 illuminate/database

给 composer.json 增长一个 require 项:sql

"illuminate/database": "*"

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

使用 Eloquent

修改 public/index.php 为:json

<?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'  => 'mffc',

  'username'  => 'root',

  'password'  => 'password',

  'charset'   => 'utf8',

  'collation' => 'utf8_general_ci',

  'prefix'    => ''

  ];

修改 models/Article.php :composer

<?php

/**

* Article Model

*/

class Article extends Illuminate\Database\Eloquent\Model

{

  public $timestamps = false;

}

controllers/HomeController.php 无需改动。

刷新,页面依旧:

恭喜你!Eloquent 使用成功!

 

原地址:https://lvwenhan.com/php/409.html

相关文章
相关标签/搜索