その辺のレンタルサーバーで気軽にウェブサービスを動かしたいのでLaravelを始めようと思う。

バージョン選定

日本語の情報はバージョン5.1のものが豊富なようだが、5.1はもうすぐサポート切れとなるようで、今後の運用を考えると5.5(LTS)か5.6を選択したい。

Laravelのリリース日と修正期間のまとめ
https://qiita.com/ykhirao/items/576a9eea735f91350072

5.5と5.6の違いを見ると5.6を選択するネックとなりそうなのはrequiredなPHPが7.0.0から7.1.3に上がったことだ。
PHP 7.1.3は2017/03/16のリリースですでに1年以上経過しており、共有レンタルサーバーなどでも普通に使えたりする。
じゃあ5.6で行こう、と思ったのだが今後のバージョンに追従する必要があり、今後さらに環境の要件が厳しくなることも考えられるので、ここは安パイを取って5.5にする。
5.6は出たばかりなのでドキュメントも少なそうでもあるし。

Laravel 5.6 Release & 5.5 機能差分メモ
https://qiita.com/a_yasui/items/553c46015e320d6a574d
CHANGELOG-5.6.md
https://github.com/laravel/framework/blob/master/CHANGELOG-5.6.md

インストール

5.5向けのドキュメントがある。
https://readouble.com/laravel/5.5/ja/installation.html

laravel new blogのコマンドでインストールしてしまうと5.6が入ってしまうので、その下にあるバージョンを明示したインストール方法にする。

クイックスタート

クイックスタートのドキュメントは5.2のものしかないのでそれを参照する。
https://readouble.com/laravel/5.2/ja/quickstart.html

ありがたいことに5.5で5.2のクイックスタートを進める方法を解説しているブログがある。
公式のクイックスタートにはないDB周りの設定なども書かれているので副読書として参照する。
https://beiznotes.org/making-task-list-with-laravel55-1/

中級者向け

腕に自信があればいきなり中級者向けタスクリストのチュートリアルを実践してもよいかも。

https://readouble.com/laravel/5.2/ja/quickstart-intermediate.html

ハマりどころ

routes

5.2ではapp/Http/routes.phpにあったroutes.phpは5.4からroutes/web.phpに移動している。

utf8mb4

5.4からutf8mb4がデフォルトになっているため、環境によってはvarchar(255)に対してインデックスが張れないことがある。

Laravel5.4 + MySQL5.5.9 でusersテーブルのマイグレーション時に Syntax error
https://qiita.com/beer_geek/items/6e4264db142745ea666f
LaravelでMysqlのcharsetをutf8mb4にしてエラーが出るときの対応方法
https://qiita.com/ichi944/items/03e3bb0bbc97a965faf7

(中級)Auth

Auth routingやリダイレクトの設定は不要らしい。
https://teratail.com/questions/91980

(中級) ビューの表示

welcomeのビューを作成する手順がない気がする。

新しめの入門書籍

PHPフレームワーク Laravel入門
https://www.amazon.co.jp/dp/4798052582
Laravel5.4対応で評価も高い書籍。以前は入手困難だったが今は普通に売っている。(しかし電子書籍版がない…)

PHPはじめてのフレームワーク Laravel 5.5対応 ステップ1
https://www.amazon.co.jp/dp/B06XR2LRZK/
Kindle unlimitedで流し読みしてみたが、クイックスタートとベースとした増補版といった内容。
5.5に対応しており、説明が豊富で開発環境構築からデプロイまで書かれているのは嬉しい。

Laravel 5.5 サンプルプログラム
https://www.amazon.co.jp/dp/B078KDCPLK/
こちらもKindle unlimitedで流し読みしてみたが、写経には良さそうなサンプルプログラムだった。

はじめてのLaravel5.6入門: PHPフレームワークLaravel5.6とPaizaCloudを使って10分でWebサービスを作る
https://www.amazon.co.jp/dp/B07BDPHJDK/
安いけど内容はこの記事と内容が同じ。
https://paiza.hatenablog.com/entry/2018/02/16/paizacloud_laravel

その他

Laravel: Up and Running: A Framework for Building Modern PHP Apps
https://www.amazon.co.jp/dp/B01NBBYDA6/
Laravelの作者も推薦している良書らしいので洋書でよければ読んでおきたい。5.3ベース。

Laravel 5.5入門
https://dotinstall.com/lessons/basic_laravel_v2
動画で学びたければ。

【2日でできる】はじめての PHP 7 x Laravel 5.5 入門
https://www.udemy.com/php7study/
こちらも動画(買い切り)。

プラクティス

Laravelでウェブアプリケーションをつくるときのベストプラクティスを探る
https://qiita.com/nunulk/items/b1e2da51b5dabab92da0
Laravel open source project で参考になりそうなもの
https://qiita.com/acro5piano/items/8dc4597e12d9050c0708
Laravel: Best Practices
http://www.laravelbestpractices.com/
alexeymezenin/laravel-best-practices
https://github.com/alexeymezenin/laravel-best-practices
octobercms/october (Laravel5.5系でかなり参考になりそう)
https://github.com/octobercms/october

まとめ

思った通りLaravelはRailsなどと比べて日本語の入門情報が少ないので、全くフレームワークに触れたことがない人がいきなりLaravelを始めようとすると苦労するかもしれない。
「ウェブ職人のためのPHPフレームワーク」と名乗っているのは伊達ではない。

See Also

Laravelをこれから勉強しようと思っている人へ
https://qiita.com/fagai/items/1d8dc71d3cbe33ba8e11

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.