利用 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

相關文章
相關標籤/搜索