書きなぐりメモ。
バージョン
$ php artisan --version
Laravel Framework Lumen (6.3.3) (Laravel Components ^6.0)
composer create-projectしたあと、動かない/エラーが表示される。
$ composer create-project --prefer-dist laravel/lumen blog
$ cd blog
$ composer dump-autoload
設定(config)ファイルは?
.env
boostrap/app.php
ユーザー認証したい
composer require laravel/ui --dev
- Laravel6系のapp/Http/Controllers/Authから使用するファイルをコピーする。
- LoginController.php
- RegisterController.php
- resources\views\authからbladeファイルをコピー
- login.blade.php
- register.blade.php
bladeファイルを環境に合うように修正。Laravel6.x系と同じbladeだけど、そのままでは使うことができず使えない記法(@error,@oldや翻訳の__()
など)があるので、素のHTMLに近い状態まで編集する必要がありそう。
php artisan key:generate?
str_random()
のやり方ができなくなってます。php7だとrandom_bytes()
が使えるのでそのまま実行しました。
php -r "echo base64_encode(random_bytes(24)).PHP_EOL;"
本来ならphpのrandom_bytes関数で32文字を作って表現できる文字に変換するbase64_encode関数を実行するのですが、base64_encode(random_bytes(32))だと44文字生成されてしまうため、random_bytesを24文字で実行してます。
おそらく44文字でも大丈夫だと思いますが、マニュアルに"this string should be 32 characters long."とあるため、32文字にしています。
- Installation - Lumen - PHP Micro-Framework By Laravel
- [Laravel5.5] APP_KEY の行方を追う - Qiita
- PHP: random_bytes - Manual
個人的な感想
Laravelのこと(すくなくとも5.x系の知識)がわからないとLumenを使うのはとても難しいです。でも、Laravelができることを知っていると「なんでLumenでできないの!?」と思ってしまうことが多々あるのでLumenでなければいけない条件が難しいです。
もし、作ろうとしているサービスでなんらかの認証(ユーザー認証やAPI用の認証)が必要になる場合、Lumenで作り始めて各種コンポーネントを足していくよりLaravel 6.xで作り始めて使用しないコンポーネントを解除/消していくほうがシンプルかもしれません。