Laravel利用者がLumenを利用するときのメモ。
###インストール
インストーラの例が多いけど、composer派なので。composerでcreate-projectする方法。
composer create-project laravel/lumen test
###.envを使う
.envを使えるようにする。
- .env.exampleをリネームして使う
- bootstrap/app.phpのDotenv::load()をコメントイン
###Facadeを利用する
- bootstrap/app.phpのapp->withFacades()をコメントイン。
但し、Route::とかは使えないみたい。
なんでRouteは無理して他のマイクロフレームワーク風にするんだろうか。
DBとかは\DB::で使える。
Facade無しでも$app('db')->select()とか書ける。
###Eloquentを利用する
- bootstrap/app.phpのapp->withEloquent()をコメントイン。
artisan make:modelは使えない。
ひな形としては、
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
public $timestamps = false;
}
という感じだろうか。ここではCompayとなっていますが、環境次第で。
###bladeを利用する
ネットの過去記事にはresourcesフォルダが無いとの記述を見つけましたが、(今は)あるみたい。
なので、Laravelと基本同じ。bladeも普通に使える。
###Controllerを使う
artisanコマンドは無い。必要に応じて手動で作る。ひな形としては下記のような感じでしょうか。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class HogeController extends Controller
{
public function index()
{
//$companies = \DB::table('companies')->get();
//return view('index')->with('companies',$companies);
return "hoge";
}
}
###考察
Route::が使えないこと以外は、ほぼLaravelと同じ書き方ができる。
###メモ
mysqlのsocket関連のエラーは、ホスト名をIPアドレスにすれば回避できる。