Progate戦記~Laravelのエラーに対応できなかったのでPHPを基礎から復習する

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

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

先日まで「Laravelの教科書」で演習をおこなっていて、70%くらいのところまではなんとか進めたものの、以降はエラーが連発してとん挫しています。みんな言っていますが本が悪いんじゃないんです。技術の変化が速くて、Laravelのほうが中身が変わっちゃってて本の通りやっても動かないんです。

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

こういうときググりながら解決出来ればいいんだけど、知識不足で何をググっていいのかもわからない状態。もう基礎からやり直した方がいいのでは?!

みんな大好きProgate!

本で演習するほうが後から見返せるため好きなのですが、PHPの基礎的な本はもう何冊かやりました。下の記事で私が使った本をまとめたので、ぜひ見てみて下さい。

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

今回はドリル的な演習がしたいので、Progateをやっていきたいと思います。さっそく一か月分1490円を支払い、有料レッスンを開放しました。

PHP

現在ProgateのPHPコースは1から4まで4レッスンあり、PHP1にだけ道場(演習ドリル)がついてきます。

PHP1

まずは基本的な文法から。前半は無料で受けられます。レッスンの最後のほうでお問い合わせフォームを作成しました。ちなみにHTML/CSSをすっかり忘れていたので、一旦そちらの初級レッスンを終わらせてから取り組みました。

progate

PHP2

架空のカフェの注文画面の作成を通じて、クラスとインスタンスについて学びました。

progate

以前「気づけばプロ並みPHP」で八百屋のショッピングサイトを制作しましたが、難易度は同じくらい。Progateのほうがローカル環境を構築したりしない分、コードに集中出来て理解が進みました。

たとえば「気づけば…」での演習では$_POSTを使っても、その構造までは理解できなかったのですが、Progateで文法的な説明を受けて「そういうことだったのか」と腹落ち。

下記は「気づけば…」の$_POSTの説明の部分。「入力されたデータは、実は$_POSTの中に全部入っているんです。」と言っていますが、どう入っているのか正直モヤっとしながら進めました。

気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

一方、下記はProgateの$_POSTの説明。連想配列になっていることを明記してくれているので、注文詳細画面でなぜ$orderCount=$_POST[$menu->getName()]になるのか理解出来ました。ここは絶対getOrderCount()だろうと思っていたのですが、$_POST=array(“curry”=> 0,”pasta”=>2);のように$_POSTは連想配列になっているので、メニュー名を取り出せばオーダー数を呼び出せるからなんですね。

progate

ちなみに「気づけば…」に文法的な説明が少ないのは、ローカル環境でサイトを作ることに主眼を置いているからです。この本には初心者がいかにモチベを落としきる前に成果物を完成させてしまうか、というアジェンダがあるので説明が簡素になるのは仕方がない面があります。

Progateと並行してこちらにも是非取り組んでみてください。実際に自分のパソコンで構築してみることで、サイトの構造を立体的に捉えることが出来ます。

【レビュー】気づけばプロ並みPHP 改訂版

PHP3

PHP3では、PHP2で作成した架空のカフェのオーダーフォームをより発展させていきます。親クラスMenuからDrinkとFoodに子クラスを分けたり、それぞれのコンストラクタで親クラスのコンストラクタをオーバーライドしました。

PHP4

いよいよPHP最後のレッスンです。引き続き架空のカフェのオーダーフォームを発展させていきます。今度は各メニューをクリックするとクチコミが見られるように改修していきます。

progate

結構難しかったですが、クラスとインスタンスの関係もしっくりくるようになったし、foreachやゲッターの使い方にも慣れることが出来ました。

その他のレッスン

せっかくなので他のレッスンも受けてみました。

Command Line

Laravelを使う時にUbuntuやVScodeのターミナルを使うので、コマンドを打っていましたがまったくわからなかったんですよね。少しはわかっておきたかったので、まずはCommand Lineの練習から始めました。

コマンドを打つ時にファイルの構成図を表示してくれていて、自分が今どこのディレクトリにいるのか可視化されてわかりやすかったです。まだ1レッスンしかないので1時間くらいで終了。

Git

ドット絵を動かしてみたくてphina.jsを使ったんですけど、phiさんのサイトをみているうちに共同開発に興味が湧きました。レッスンではリモートでコードをアップデートする過程を体験。登場人物が2人出てきて、臨場感がありました。まだ1レッスンしかないので30分くらいで終了。

おわりに

progateはブラウザで手軽に学習できるので、ドリル的にコードを練習したいときや言語をざっくり把握したいときにおすすめです。LaravelにはNode.jsも出てくるので、引き続きprogateでJavaScriptとNode.jsのレッスンを受けたり、あとはドットインストールでもう一度PHPの演習をおこなってもいいなと思いました。

【PR】Kindle Unlimited 定額読み放題サービス

私は月に5冊は本を買うので、Amazonの定額制サービスに入っています。人気の本が定期的に入れ替わるし、技術書をよく買う人はめちゃくちゃお得。