【レビュー】Laravelの教科書 バージョン10対応

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

WordPress の使い方に慣れ、いつかプラグインやWebアプリを作れるようになりたいと思ったのでPHPやJavaScriptの勉強をしています。

これまでの学習記録

これまでの学習記録をこちらにまとめました。教材選びの参考にどうぞ。

WordPressに慣れてきた人へ。PHP初心者にオススメの参考書

今回取り組んだのは「Laravelの教科書 バージョン10対応」。「いきなりはじめるPHP」→「確かな力が身につくJavaScript「超」入門 第2版」→「気づけばプロ並みPHP」に取り組んだあと開始しました。

楽天ブックス
¥3,300 (2024/11/29 11:16時点 | 楽天市場調べ)

PHP初心者でも進められるけど基礎力の足りなさを実感する

この本自体は初心者向けに書かれており、出来るだけかみ砕いて丁寧に説明してくれようとして優しい本です。ただ、まだPHPがうろ覚えの私にとってはすごく難しいです!

つまづきながらも現在7割くらいのところまで読み進めて来ましたが、PHPの基礎がまだまだだと実感しました。

このレベルの人が取り組むとよさそうな本

というわけで、このレベルの人が取り組むとよい本を調べてみました。

独習PHP

楽天ブックス
¥3,740 (2024/11/28 22:00時点 | 楽天市場調べ)

初心者向けのLaravelの本のレビューを読み漁っていたところ、「『独習PHP』を消化してからLaravelに取り組むとよい」と書いている人がちらほらいました。サンプルを眺める限り、しっかりがっちり基礎からやる本の割には読みやすそうだと思いました。

将来的に資格を取りたい場合、その準備としてもよさそう。

WordPressオリジナルテーマ制作入門

楽天ブックス
¥2,948 (2024/11/29 11:16時点 | 楽天市場調べ)

こちらは私が今取り組みたい本。Laravelはクックパッドやツイッター(X)みたいに、ユーザーが投稿できるタイプのWebサービスが作れるのですが、WordPressはブログに特化しているんですよね。基本的にLaravelと仕組みは同じだそうなのですが、WordPressのほうが機能を絞っている分勉強しやすいんじゃないかと思いました。

そもそも私がPHPの勉強をはじめたのだって、WordPressのメンテナンスに怯えないようになりたかったからですし。

新しいLinuxの教科書

楽天ブックス
¥2,970 (2024/11/29 11:16時点 | 楽天市場調べ)

「Laravelの教科書」ではUbuntuも導入するしVScodeのターミナルでもコマンドを打ちます。コマンドの意味がわからなくても本筋と関係ないしググればすぐわかるので説明はなくてよいのですが、一応IT業界にいる人間としてLinuxもやったほうがいいなと思いました。

今まで会社から「駆け出しエンジニアとして数年以内に取るように」と言って渡されたリストの中にLPICが入っていましたが、何に使うかわかりませんでした。でも今回Laravelを使ってみて、ソフトウェア開発に必要なんだとわかりました。

セキュリティへの意識が高まった

Laravelを勉強してみて、Webサービスはメンテナンス性とセキュリティがすごく重要なのだと改めてわかりました。

Laravelが「気づけばプロ並みPHP」より難しいのは、セキュリティ施策がしっかりしているからなんですよね。「気づけばプロ並みPHP」では何度も徳丸先生によってセキュリティの危うさが指摘されていて、出来上がるサンプルプログラムはほとんど対策されていないようだったのです。

「気づけばプロ並みPHP」はそこをシンプルにすることで、初学者が基本的なPHPの動きを理解出来るようにしてくれていました。時間が出来たらもう一度初めから取り組んで知識を整理したいです。

また、Laravelでサービスを作れば安心ではありますが、改めてセキュリティの勉強がしたくなりました。ハッキング手法は日ごとに新しくなりますし、将来的にWebサービスをリリースしたいなら自分で対応しないといけなくなります。怖い。

そんな折、大人気書籍「ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習」の最新版が2月に出るみたいなんで是非こちらも取り組みたいです。手を動かして学ぶセキュリティの本はあまりないし、応用(基本)情報技術者試験の勉強にも役立ちそう。セキュリティは教科書を読んでも理解しにくいんですよね。

つまづいたところ

Chap.2 WSL 2のインストール

WSL 2をインストールするところで、パソコンがWindows10だった場合、下記のバージョンならOKとの説明がありました。確認すると私のパソコンのOSビルドは19045。リストにない!

Laravelの教科書 バージョン10対応

Microsoftのサイトを見ると、下のように書いてありました。

WSL 2 に更新するには、Windows 10 を実行している必要があります。

  • x64 システムの場合: バージョン 1903 以降 (ビルド 18362.1049 以降)。
  • ARM64 システムの場合: バージョン 2004 以降 (ビルド 19041 以降)。

または Windows 11。

Microsoft > 以前のバージョンの WSL の手動インストール手順

1903以上ならOKなので、私の19045は大丈夫ってこと。。。? でも本の「インストール出来るOSビルド」の表を見ると19044の次が22621.963に飛んでいます。そのあいだの19045が適用なのかどうか、混乱してしまいました。

結局、ChatGPTに聞くと「大丈夫!」と言うのでおそるおそるWSL2をインストールしてみると、何事もなく完了。

蜜

よかった! 焦った。

Chap.2 Laravel Sailを起動する

Laravel Sailを初めて起動するとき、30分経ってもローカルホストにアクセス出来ませんでした。本には「はじめて起動するときは時間がかかります」とあったのでずっと待っていたのですが、変だなと思ってUbuntuの画面をよく見るとエラーが出ていました。

UbuntuはWindowsと同じOSの仲間だって言うから何かあれば音や警告ウィンドウで教えてくれるだろうと気楽に構えていたら、静かにこっそりログでエラーを出すから気が付きませんでした。

蜜

UbuntuはWindowsと同じように使えるからみんな使ってるってネットで見たよ!(震え)

こちらがそのエラーログ。何かと思えばまた3306ポートの競合! 「ポートが使用できません。… 各ソケットは通常、一つのサービスしか使用できません。」と言っています。

ローカル環境でPHPの演習をしたときに同じ問題に遭遇したので、記事にしました。このエラーにも同じ方法で対応できたので参考にどうぞ。

競合サービスの停止方法。ポートを使用しているサービスの確認

Chap.2 VS CodeのRemote Development拡張機能でWSL内のフォルダを開く

VS Codeの仕様の変更があったのか、本の説明とは文言が結構違っていました。2024.1現在は下記のような画面になっていました。

Chap.2 エイリアスの定義

.bashrcを読み込んでも”bash: alias: sail: not found”と表示され、sailが定義出来ていないようでした。.bashrcの他のコマンドをよく見ると、コードの色が変わっていました。どうやら”=”の前にスペースが入るとダメだったようで、スペースを消すと無事読み込まれました。

alias sail= ‘./vendor/bin/sail’ ← にスペースを入れない!

本の詳細

楽天ブックス
¥3,300 (2024/11/29 11:16時点 | 楽天市場調べ)
作品情報

2023/3/22 発売 / 加藤じゅんこ (著) / 351ページ

PHPでWebアプリケーションを開発するための定番フレームワーク「Laravel(ララベル)」の最新版「バージョン10」に対応した解説書。

・できるだけ分かりやすくLaravelを学びたい
・すべてのステップを省略せずに教えてほしい
・セキュリティなど、Webアプリ開発において大事な知識も得たい

そんな人のための解説書です。

Amazon商品紹介ページ:Laravelの教科書 バージョン10対応

Amazonのレビューをまとめるとこんな感じ。

満足度
 (4.5)

初心者を置き去りにしない丁寧な教材

  • かわいいキャラクターが登場して、初学者がLaravelに取り掛かりやすいです。良書。ただ、Laravel初学者の私には難しく、何度も読み直して学習しました。
  • Laravelの学習に限界を感じ、「もう諦めるしかないのか」と途方に暮れていた時、同名の「Laravelの教科書」という学習サイトに出会いました。驚くほどわかりやすく書いてあり、途方に暮れていた私にとっては救世主でした。ある程度PHPを学んだ人がLaravelを学ぶには最高の教材。
  • 文章できちんとコードの説明があるので、基礎から論理的に学びたい人に向いている。初学者が何が分からないかを分かっている。

続きを見る

おわりに

PHPがうろ覚えの私でも、なんとかUbuntuやDockerを使ってLaravelを動かしています。現在「Laravelの教科書」を7割まで読み進めたところですが、ちんぷんかんぷんながらも何かのWebサービスが出来上がってきています。この本は優しく丁寧に説明してくれていますが、自分の基礎力の足りなさを実感。