Help us understand the problem. What is going on with this article?

Laravel入門情報 2018年10月版

More than 1 year has passed since last update.

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

バージョン選定

日本語の情報はバージョン5.1のものが豊富なようだが、5.1はすでにバグ修正が止まっており、今後の運用を考えると5.5(LTS)か5.7を選択したい。

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

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

CHANGELOG-5.6.md
https://github.com/laravel/framework/blob/master/CHANGELOG-5.6.md
CHANGELOG-5.7.md
https://github.com/laravel/framework/blob/master/CHANGELOG-5.7.md

インストール

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

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

クイックスタート

クイックスタートのドキュメントは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 Webアプリケーション開発 バージョン5.5 LTS対応
https://www.amazon.co.jp/dp/4802611846/
記事編集時点ではまだ出版されていないがかなり良さそうな著者陣。

PHPフレームワーク Laravel入門
https://www.amazon.co.jp/dp/4798052582
Laravel5.4対応で5.5の開発版でも動作確認されている。
かなり初心者向けに書かれていて他フレームワークの経験者にとってはまだるっこしく、サンプルコードの質もいまいちなので、どうしても紙の書籍がほしいというわけでなければ手を出さなくても良い。
以前は入手困難だったが今は普通に売っている。(4月末にkindle版も出た)

PHPはじめてのフレームワーク Laravel 5.5対応 ステップ1
https://www.amazon.co.jp/dp/B06XR2LRZK/
クイックスタートをベースとした増補版といった内容。
5.5に対応しており、説明が豊富で開発環境構築からデプロイまで書かれているのは嬉しいが、サンプルコードの質については不安な部分が多少ある。

Laravel 5.5 サンプルプログラム
https://www.amazon.co.jp/dp/B078KDCPLK/
写経には良さそうなサンプルプログラム。
正解のコードだけを提示するのではなく、いくつか実装パターンを見せてそれぞれのメリット・デメリットを説明していたりというアプローチも自由度が高いLaravelを理解する上で良さそう。

はじめての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/Fendo181/items/dece727ea402552fee19
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

studio15
このアカウントの記事はアクセス状況を把握するためにGoogleアナリティクスを使用しています。 Googleアナリティクスはデータ収集のためにCookieを利用しています。
https://studio15.jp
qiitadon
Qiitadon(β)から生まれた Qiita ユーザー・コミュニティです。
https://qiitadon.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした