HTML・CSSは書ける。次にLaravelをやりたい。
でも、間に何を挟めばいいのか分からない。

結論から書きます。
素のPHPとMySQLを1カ月挟んでから、Laravelに入ってください。

ただ、この記事で本当に伝えたいのはその先です。
順番を守っても止まります。僕がそうでした。


全体の順番

1. 素のPHP + MySQL(約1カ月・80時間)
2. Laravel(約1カ月・80時間)
3. ポートフォリオ制作(約1カ月)

完全未経験の人は、この前にHTML・CSS・JavaScriptで2〜3カ月使います。
あなたはそこを終えているので、3カ月短縮された状態からのスタートです。


なぜLaravelから直接始めてはいけないのか

Laravelは便利すぎるフレームワークです。数行書くだけでログイン機能ができてしまいます。
その裏では、次のようなことが自動で走っています。

  • URLとファイルの結びつけ(ルーティング)
  • フォームから送られた値の受け取り
  • データベースへの接続とSQLの組み立て
  • セッションによるログイン状態の保持

素のPHPを知らないままだと、エラーが出たときに何が起きているか想像できません。


僕はここで数年止まりました

僕もまったく同じルートです。

blogのデザインを直したくてHTML・CSSを始めて、模写サイトが作れるようになって、そこからPHPに進みました。
順番としては正しいです。

それなのに、いまいちアプリをどう作っていけばいいのかが分からなくて、数年足踏みしました。

文法は分かる。フォームの送信もできる。データベースにも保存できる。
なのに「じゃあ、これをどう組み合わせてアプリにするのか」が見えませんでした。

順番を解説する記事はたくさんありますが、ここでつまずく話はあまり書かれていません。なので先に書いておきます。


あなたが飛ばしていい範囲

  • HTML・CSSの復習(もうできています)
  • オブジェクト指向の深い理論(クラスの書き方が分かれば十分)
  • 素のPHPで大きなアプリを作ること
  • 古い書き方(mysql_ 系の関数など)

素のPHPは「深く」ではなく「一通り」で構いません。
目的は、Laravelが裏で何をしているかを想像できるようにすることです。


飛ばしてはいけない範囲

1. フォームの送受信(1週間)

  • GET と POST の違い
  • $_POST で値を受け取る
  • 受け取った値を画面に表示する
  • 受け取った値をそのまま表示しない(エスケープする)

2. データベース(2週間)

  • MySQLの基本
  • SQL:SELECT / INSERT / UPDATE / DELETE
  • PDOを使った接続
  • プレースホルダを使った安全なSQLの書き方

ここは絶対に飛ばさないでください。
Laravelを使うとSQLをほとんど書かなくなりますが、裏で何が発行されているか分からないと、不具合が直せません。

3. セッション(数日)

ログイン状態をどうやって保持しているのか。
Laravelの認証機能が何をしているか理解するために必要です。

ゴール:フォームから送信した内容をデータベースに保存し、一覧表示・編集・削除ができる。


Laravelに入る前に、ファイルの役割を覚える

ここが、僕が数年止まった原因への答えです。

今プログラミングを教えているS.Tさんが、こう言っていました。

Laravelはどこに何があって、どのファイルがどういう役割で、どういう流れなのかが理解できていない。だから、どこに何を書いたらいいか分からない

これ、当時の僕とまったく同じです。

なのでS.Tさんに最初にやったのは、文法の説明ではありません。
どのファイルがコントローラーで、どのファイルがルートなのかを教えました。先に地図を渡すイメージです。

場所ひとことで言うと
routes/web.php「このURLが来たら、この処理へ」の受付
app/Http/Controllers/実際の処理を書く場所
app/Models/データベースとのやり取り
resources/views/画面の見た目

この4つを先に覚えてください。
「URLを開く → ルート → コントローラー → モデル → ビュー」の流れが口で言えるようになると、教材の読み方が変わります。


Laravelの進め方(2カ月目)

やることゴール
1週目ルート・コントローラー・ビュー流れを口で説明できる
2週目マイグレーション・モデル・登録編集削除データを保存して表示できる
3週目認証・入力チェックログインできる状態にする
4週目小さなアプリを1つ作る教材を見ずに組み立てる

4週目が大事です。教材を写すのと、自分で組み立てるのはまったく別の作業なので、ここで一度やっておきます。


1周で分かると思わないこと

先に言っておきます。Laravelは1周では分かりません。

僕が伴走したSさんは、HTML・CSSで止まっていた状態から始めて6カ月で転職しましたが、
Laravelの教科書を5周するまで、流れも書き方も理解できていませんでした。

それでも繰り返すうちに、5周目あたりで急に流れがつかめてきて、そこからは自分でコードを書けるようになりました。

1〜4周目は「分かっていない状態」が続くのが普通です。
これを知らないと、2周目で「向いていない」と思ってやめます。向いていないのではなく、回数が足りていないだけです。


web制作経験者が特に詰まるところ

詰まる場所なぜ詰まるか
ファイルが多すぎるHTMLのように1ファイル完結ではないため
画面に何も出ないエラーがログにしか出ないことがある
データがどこにあるか分からないDBという概念に慣れていない
ターミナルが怖いコマンドで操作する場面が増える

1つ目が最大の壁です。「どこに書けばいいか分からない」問題ですね。
上のファイルの役割の表に何度も戻ってください。


理解が一気に進む問いかけ

学習中、この質問を自分にしてみてください。

「今このページを開いたとき、どのファイルが、どの順番で動いた?」

説明できない場所が出てきたら、そこが今の弱点です。
そこが分かった瞬間に、エラーの調べ方まで変わります。


よくある質問

Q. 素のPHPを飛ばして、直接Laravelではダメですか?
A. おすすめしません。エラーが出たときに何も想像できなくなります。1カ月でいいので通してください。

Q. JavaScriptはどこまで必要ですか?
A. ポートフォリオに非同期処理を1か所入れるので、その分だけ必要です。全部を極める必要はありません。

Q. WordPressの経験は活きますか?
A. 活きます。テーマを触ったことがあるなら、もうPHPを見ています。「意味は分かっていなかった」という状態に、名前と仕組みを与えるだけです。


まとめ

  • 間に素のPHP+MySQLを1カ月挟む
  • データベースとセッションは飛ばさない
  • Laravelに入る前に、ファイルの役割を覚える
  • 教科書は5周が目安。4周目までは分からなくて当たり前
  • 詰まる原因は文法ではなく「どこに書けばいいか分からない」こと

僕は数年止まりました。Sさんは6カ月で抜けました。
違いは才能ではなく、「今が分からなくて当たり前の時期だ」と言ってくれる人がいたかどうかだけです。

次に読む記事


未経験からエンジニア転職までの6カ月ロードマップを無料で配布しています。LINEから受け取れます。