vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです。月間13万PV〜。

PHP軽量フレームワーク『Lumen』の導入方法&初期設定

      2017/01/30

LINEで送る
Pocket


こんにちは、okutani(@okutani_t)です。「Lumen」はLaravelベースの軽量フレームワーク版、という位置付けのPHPフレームワークです。

Laravelより動作が軽く、APIサーバーなどの用途に使いやすいフレームワークですね。

他のPHP軽量フレームワーク「Slim」「Silex」などのカテゴリーに入るかと思います。

公式サイトは以下です。

LINKLumen – PHP Micro-Framework By Laravel

LumenとLaravelの違いは、以下のサイトが詳しく解説しています。参考にしてください。

参考LumenとLaravelの違い – ララ帳

今回導入したLumenのバージョンはv5.3.0です。

では、Lumenの導入方法について解説していきます。

スポンサーリンク

Lumenのインストール

Composerを使ってLumenを導入していきます。例として「hello」という名前でプロジェクトを生成します。

$ composer create-project --prefer-dist laravel/lumen hello

Composerがよくわからない方や、インストールが済んでいない方は以下の記事を参考にしてください。

[PHP]Composerを導入&はじめてのパッケージインストールまで
こんにちは、okutani(@okutani_t)です。『Composer』というツールを使うことで、PH...
2016-02-19 18:22
はてブ

これで、カレントディレクトリに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ユーザーの参考になれば幸いです。

この記事が気に入ったら
いいね ! しよう

Twitter で
LINEで送る
Pocket

okutani (@okutani_t) のヒトコト
結局、僕はLumenで構築しようとしていたサイトはLaravelで済ませてしまいました。csrf_token()一つ使うにも大変で挫折。。

 - Laravel

スポンサーリンク

PC用AdSense

PC用AdSense

Share
  • このエントリーをはてなブックマークに追加

  こちらの関連記事もどうぞ

Laravelのプロジェクトをgit cloneしたときの手順

こんにちは、okutani(@okutani_t)です。超かんたんなTipsなの …

LaravelでViewComposerを使ってコントローラーをすっきりさせる

こんにちは、okutani(@okutani_t)です。Laravelで利用でき …

LaravelでMailCatcherを利用してテストメールを送信する

こんにちは、okutani(@okutani_t)です。今回は、Laravelで …

Laravel導入方法&初期設定まとめ

こんにちは、okutani(@okutani_t)です。本記事ではPHPのフレー …

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。