PHP軽量フレームワーク『Lumen』の導入方法&初期設定
2017/01/30
こんにちは、okutani(@okutani_t)です。「Lumen」はLaravelベースの軽量フレームワーク版、という位置付けのPHPフレームワークです。
Laravelより動作が軽く、APIサーバーなどの用途に使いやすいフレームワークですね。
他のPHP軽量フレームワーク「Slim」「Silex」などのカテゴリーに入るかと思います。
公式サイトは以下です。
LINKLumen – PHP Micro-Framework By Laravel
LumenとLaravelの違いは、以下のサイトが詳しく解説しています。参考にしてください。
今回導入したLumenのバージョンはv5.3.0です。
では、Lumenの導入方法について解説していきます。
スポンサーリンク
もくじ
Lumenのインストール
Composerを使ってLumenを導入していきます。例として「hello」という名前でプロジェクトを生成します。
$ composer create-project --prefer-dist laravel/lumen hello
Composerがよくわからない方や、インストールが済んでいない方は以下の記事を参考にしてください。
これで、カレントディレクトリにhelloプロジェクトが作成されました。
Lumenの初期設定
Lumenの初期設定方法を説明していきます。
.envファイルの設定
.env.exampleをコピーして、.envファイルを作成します。
ただ、今回導入したv5.3.0には、最初から.envが作成されていたので、そのまま利用しました。
.envファイルの中は次のとおりです。
APP_ENV=local
APP_DEBUG=true
APP_KEY=
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=memcached
QUEUE_DRIVER=sync
もし、DBなどを利用する場合は適宜設定してください。
route.phpの確認
ルーティングを設定する「route.php」は以下の場所にあります。
app/Http/routes.php
ここに、利用したいControllerなどを追加していけばOKですね。
ただし、Controllerの追加はartisanコマンドでおこなえないため、手動で追加する必要があるので注意してください。
ファサードを利用できるようにする
もしファサードを利用したい場合は、デフォルトでOFFになっているので「bootstrap/app.php」の以下の行のコメントアウトを外します。
$app->withFacades();
これで、「route.php」でRequestが利用できたり、Response, Sessionなどといった、さまざまなファサードが使えるようになります。
Eloquentを利用できるようにする
Eloquentを利用するには、ファサードと同じく「bootstrap/app.php」の以下の行のコメントアウトを外します。
$app->withEloquent();
これでEloquentが利用できるようになりました。
これらの設定はプロジェクトに合わせて設定してみてください。
起動と確認
PHPのビルトインサーバーを利用して、Lumenの動作を確認してみます。
以下のコマンドでビルトインサーバーで起動させます。
$ php -S localhost:8000 -t public
ブラウザから「http://localhost:8000」へアクセス。
このように、Lumenのバージョンが表示されていればOKです。
あとは、Laravelと同じようにroutes.phpやmigrationの設定、viewの追加などおこなっていけばOKですね。
まとめ
本記事では、Lumenの導入方法とかんたんな初期設定を解説しました。
ただ、利用してみて、ファサードやEloquentを使えるようにするなどの手間がかかるため、Laravelチックに使うには少しめんどうです。
APIサーバーとしての利用などであれば良いかと思いますが、通常のWebフレームワークとして使うにはLaravelを選んでおいた方が良いかと思います。
かつ、Laravelほど情報がネットに出回っていないため、中〜上級者向けかと思います。フレームワーク初心者はあまり手を出さない方がいいかなー、といじってみて思いました。
PHPユーザーの参考になれば幸いです。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク