Lumenを始めてみた
なんかLumenとか言うLaravel製のマイクロフレームワークが公開されたらしい。
最近Laravelで遊んでる身としては気になるところ。
そんな訳でさっそく遊んでみた。
前提的なやつ
- OS X 10.9.5
- composer 1.0-dev
composerでLumenのインストーラーをインストール
$ composer global require "laravel/lumen-installer=~1.0"
これでLumenのコマンドが使える。
一応確認。
lumen -V Lumen Installer version 1.0.1
Lumenアプリケーションを作成
適当な名前でLumenのアプリケーションを作成。
そのまま起動してみる。
$ lumen new Lumen_Demo $ cd Lumen_Demo $ php artisan serve
ブラウザからlocalhost:8000
にアクセスしてLumen.のロゴが出ればおk。
わーい。
ちょっと遊んでみる
せっかくなのでController作ったり、テンプレートエンジンにBlade使って遊んでみる。
Controllerの作成
とりあえずControllerを作成。
$ php artisan make:controller UserController [InvalidArgumentException] Command "make:controller" is not defined. Did you mean this? make:migration
ふぁっ!
make
コマンドはmigration
しか使えないらしい...
しゃーないので、app\Http\Controllers
にUserController.php
を作成。
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; class UserController extends Controller { public function showProfile($id) { $name = 'maki'; return view('profile.index', ['id' => $id, 'name' => $name]); } }
ルーティングの設定
app\Http\routs.php
にルーティングを追加。
$app->get('/user/{id}', [ 'as' => 'user', 'uses' => 'App\Http\Controllers\UserController@showProfile' ]);
bladeの作成
resources\views
にprofile
ってディレクトリ作って、その中にindex.blade.php
作成。
中身はこんな感じ。
<!doctype html> <html> <head> <title>{{ $name }}のプロフィール</title> </head> <body> <h1>Hi {{ $name }} !!</h1> <h2>ID is {{ $id }} .</h2> </body> </html>
で、最後にブラウザからlocalhost:8000/user/1
にアクセスしてちゃんと表示されるか確認。
おk、おk。
ちゃんと変数も受け渡し出来てる。
最後に
いつもならサクッとPhpStorm使うのに、久しぶりにテキストエディタでいろいろやってみた。
PhpStormに限らずIDEの便利さを再度実感。
つーかPhpStorm最高!
Lumenに対しての感想はペライチのWebアプリ作るのには良さげ。
なによりLaravelの知識生かせるのは大きいと思ふ。
ただ、artisanコマンドもそうだけど、Laravelのつもりで扱うと所々出来ない事とかあるので注意っすな。
まぁ、マイクロフレームワークって事だし、今後に期待です。
とりあえず、Laravelで遊びつつ時間見付けてLumenでも遊んでみたいと思います。