簡介
orm Object Relational Mapping
物件關係對映
laravel 中我認為最好用的莫過於 orm tp3.2 中也有類似的東西,但是使用起來總是感覺很費力,可能是先入為主的原因吧。
但是為了提升開發速度和減少使用 tp3.2 的不適感,現在來把 laravel 中的 orm 接入到 tp3.2 中
為什麼說是接入呢?
因為 laravel 的 orm 是可以單獨使用的詳見
illuminate/database
感謝元件化開發,感謝 composer
step 1
到 這裡 選擇合適的版本
composer require illuminate/database
// or for php 5.5.9
composer require illuminate/database:5.2.*
依然保持 index.php
require `vendor/autoload.php`;
step 2
Thinkphp/Library/Think/Think.class.php 中的 start() 方法中的 App::run() 之前新增
// ORM
$capsule = new IlluminateDatabaseCapsuleManager;
$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 一樣使用了
tip
這時是不能使用 paginate 的要想使用
composer require illuminate/pagination
同時注意選擇對應的版本