進捗ダメです

何か作る。

Lumenを始めてみた

なんかLumenとか言うLaravel製のマイクロフレームワークが公開されたらしい。

lumen.laravel.com

最近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。

f:id:twintail0x2b8:20150416163923p:plain わーい。

ちょっと遊んでみる

せっかくなので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\ControllersUserController.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\viewsprofileってディレクトリ作って、その中に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にアクセスしてちゃんと表示されるか確認。

f:id:twintail0x2b8:20150416163952p:plain

おk、おk。
ちゃんと変数も受け渡し出来てる。

最後に

いつもならサクッとPhpStorm使うのに、久しぶりにテキストエディタでいろいろやってみた。
PhpStormに限らずIDEの便利さを再度実感。

つーかPhpStorm最高!

Lumenに対しての感想はペライチのWebアプリ作るのには良さげ。
なによりLaravelの知識生かせるのは大きいと思ふ。

ただ、artisanコマンドもそうだけど、Laravelのつもりで扱うと所々出来ない事とかあるので注意っすな。
まぁ、マイクロフレームワークって事だし、今後に期待です。

とりあえず、Laravelで遊びつつ時間見付けてLumenでも遊んでみたいと思います。