Laravelは使わずに、ORMとして、Eloquentだけ使う方法を検討してみます
ドキュメント
php5.3〜で使いたかったのでドキュメント的にはこちらを見ます
- 入門的なやつ
http://laravel.com/docs/4.1/eloquent - api document
http://laravel.com/api/4.1/Illuminate/Database.html
ざっと日本語で調べると
http://laravel3.kore1server.com/docs/database/eloquent
こちらのページが出てきたのですが、バージョンが3系なので、
has_one
→hasOne
とかメソッド名が変わっており、
そのままコピペして動かそうとすると動かないので注意です。
composer でインストール
composer require "illuminate/database=~4.1"
※php5.3で使いたかったので、5.3対応している最新バージョン
実際に使う時にどうするか
この辺に動くやつを作って置きました
シングルトン
シングルトンを使うやつ
サンプル
こんな感じで使えるようになりまっす。
<?php
use Model\Eloquent;
use Model\User;
// composerのautoload設定
$loader = require('./vendor/autoload.php');
$loader->add('Model\\', __DIR__);
// 初期化処理
Eloquent::init();
$user = User::find(1);
var_dump($user->name);
$results = Eloquent::getConnection()
->select('select * from my_users');
var_dump($results[0]['name']);
$log = Eloquent::getConnection()->getQueryLog();
var_dump($log);
所感
めんどくさくなって雑にまとめたんだけど、ORM便利!!
もっといい書き方があればどなたか教えてください〜
動くものはこの辺に書いてます
https://github.com/mapyo/sample/tree/master/php/eloquent-sample