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から受け取れます。