教練,我想寫 laravel ORM篇

簡介

orm Object Relational Mapping
對象關係映射php

laravel 中我認爲最好用的莫過於 orm tp3.2 中也有相似的東西,可是使用起來老是感受很費力,多是先入爲主的緣由吧。laravel

可是爲了提高開發速度和減小使用 tp3.2 的不適感,如今來把 laravel 中的 orm 接入到 tp3.2 中git

爲何說是接入呢?
由於 laravel 的 orm 是能夠單獨使用的詳見github

illuminate/database
感謝組件化開發,感謝 composerjson

step 1

這裏 選擇合適的版本app

composer require illuminate/database
// or for php 5.5.9
composer require illuminate/database:5.2.*

依然保持 index.phpcomposer

require 'vendor/autoload.php';

step 2

Thinkphp/Library/Think/Think.class.php 中的 start() 方法中的 App::run() 以前添加
// ORM
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection([
    'driver'    => C('DB_TYPE'),
    'host'      => C('DB_HOST'),
    'database'  => C('DB_NAME'),
    'username'  => C('DB_USER'),
    'password'  => C('DB_PWD'),
    'charset'   => C('DB_CHARSET'),
    'collation' => C('DB_COLLATION'),
    'prefix'    => C('DB_PREFIX'),
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();

step 3

爲了能夠加載 App/Models 下的文件在 composer.json 中組件化

"autoload": {
    "files": [
        "App/helpers.php"
    ],
    "psr-4": {
        "App\\": "App"
    }
}

而後就能夠想 laravel 中的 orm 同樣使用了ui

tip

這時是不能使用 paginate 的要想使用code

composer require illuminate/pagination

同時注意選擇對應的版本

相關文章
相關標籤/搜索