Lumenで簡単なAPI作ってみた

lumen-test

yterajima/lumen-test

LumenLaravel 系統の小さなフレームワークとして開発されているものらしい。routes.php の書き方を見る限りでは SilexSlim と同じようなものに見えます。

ちょうど Laravel5 を使った案件に対応しているタイミングだったので少し気になって動かしてみました。

やってみたこと

  • Vagrant 上に Laravel5 を動作させている環境と同じものを用意
  • Lumen をインストール
  • Migration を使って posts テーブルを追加
  • faker を使った seed データ投入処理追加
  • http://localhost/posts.json で全件データを返す JSON API を返す

思ったこと

  • 大枠で Laravel と同様に使える
  • API 用途にはかなり便利そう
  • 細かいところで違う
  • controller や model の生成コマンドは Laravel 同様あった方が嬉しい
  • MySQL の collation はどう変更すればいいだろうか
    • デフォルトで utf8_unicode_ci
    • Laravel だと設定ファイル自体で変更できた

その他

現状では Lumen 自体の利用数が少ないので英語圏も含めて利用 Tips のようなものがないので自分でどうにかしないといけない部分が多いですね。このあたりは時間が解決してくれる部分ですが, 当面は自分で頑張る必要がありそうです。

API であれば PHPUnit でテストを書きながらザクザク作ることができそうです。