ProgateのPHPコースが終わった。
でも、次に何をやればいいのか分からない。
- Laravelに行けばいいのか、まだ早いのか
- 別の教材をやったほうがいいのか
- そもそも自分で何か作れる気がしない
皆さん、こうなっていないですか?
僕もPHPを学んだあと、アプリをどう作っていけばいいのか分からなくて、数年足踏みしました。
文法が分からなかったわけじゃないんですね。
入力して、保存して、表示する、っていう流れを自分で作ったことがなかったんです。
結論だけいうと、
Progateの次は、素のPHPで「フォームの内容をデータベースに保存して、一覧に出す」を1つ最後まで作るのがいいかなと思います。
期間は1カ月くらいです。そこからLaravelに進みます。
なんで、いきなりLaravelじゃないのか
Laravelって、いろんなことを自動でやってくれるんですね。
フォームの値の受け取りも、データベースへの保存も、ほぼ1行で書けます。
でも、裏で何が起きているかを知らないと、エラーが出たときに想像ができないんです。
これが、Laravelで「意味不明」になる一番の理由かなと思っています。
なので、Laravelが代わりにやってくれていることを、一度だけ自分の手でやっておく。
これがあるかないかで、Laravelに入ったあとの進み方がかなり変わってきます。
ちなみに僕の兄は、30歳近くでエンジニアに転職しているんですけど、ポートフォリオはLaravelを使わずに素のPHPで作っていました。
それでも、すごいクオリティーでした。
素のPHPがちゃんと書けるっていうのは、それだけで大きな土台なんですね。
素のPHPでやること(1カ月)
| やること | 目安 | ここでつかむこと |
|---|---|---|
| 基本の文法のおさらい | 数日 | 変数・配列・if・foreach・関数(Progateで十分) |
| フォームの送受信 | 約1週間 | $_POST で受け取る・入力チェック・エスケープ |
| データベース | 約2週間 | MySQL・SQLの基本・PDOとプレースホルダ |
| セッション | 数日 | ログインの状態を保つ仕組み |
ゴールは、フォームの内容をデータベースに保存して、一覧・編集・削除ができることです。
作るもの:一言メモ
作るのはシンプルで大丈夫です。
- 名前とメモを入力して送信する
- データベースに保存する
- 保存したものを一覧に出す
- 編集・削除できる
- ログインした人だけが使える
見た目は気にしなくていいです。
ここだけは、絶対に自分の手で書く
1. $_POST で値を受け取る
フォームの name="body" が、$_POST['body'] になるんですね。
Laravelでは $request->input('body') に変わるだけで、やっていることは同じです。
2. プレースホルダで保存する
$stmt = $pdo->prepare('INSERT INTO memos (name, body) VALUES (:name, :body)');
$stmt->bindValue(':name', $name);
$stmt->bindValue(':body', $body);
$stmt->execute();
入力された値を、SQLに直接つなげないようにしています。
これをやらないと、SQLインジェクションっていう攻撃を受けることがあるんですね。
Laravelのモデルは、これを裏で自動でやってくれています。
3. エスケープして表示する
<?php echo htmlspecialchars($memo['body'], ENT_QUOTES, 'UTF-8'); ?>
入力された文字をそのまま画面に出すと、悪いスクリプトを埋め込まれることがあります。
Laravelのビューの {{ }} は、これを自動でやってくれています。
この3つを一度自分で書いておくと、Laravelで1行で書けたときに、「あ、裏でこれをやってくれてるんだな」って分かるようになるんですね。
やらなくていいこと
- HTML・CSSの復習
- オブジェクト指向の深い理論
- 素のPHPで大きなアプリを作ること
mysql_で始まる古い書き方
素のPHPは「深く」じゃなくて「一通り」で十分です。
ここに何カ月もかけるより、Laravelに進んだほうがいいかなと思います。
次の教材を探しに行かない
Progateが終わったあとに、別の教材を探しに行く人が多いんですね。
でも、教材を変えても「自分で作る」練習にはならないです。
教材はどこにでもあります。
足りないのは、自分で最後まで作った経験なんですね。
AhaGateの場合
AhaGateでは、PHPまで学んでいる人は、素のPHPかLaravelのどちらから始めるかを、今の状態を見て決めています。
- 今どこまでできているかを、こちらから質問して一緒に確認する
- すでにできているところは、くり返さない
- 作ったコードを提出してもらって、コードと「どう考えたか」の両方をレビューする
- 環境構築などのトラブルは、ヒントじゃなくて直接対応する
料金は月30,000円(税込)・入会金なしです。都度払いで、いつでも止められます。
まずはLINEでの無料相談からで大丈夫です。勧誘はしません。
よくある質問
Q. Progateの有料コースは全部やったほうがいいですか?
A. PHPのコースが終わっていれば、まずは十分かなと思います。あとは作りながら、分からない文法をその都度調べれば大丈夫です。
Q. 素のPHPを飛ばして、Laravelからでもいいですか?
A. できなくはないです。ただ、エラーが出たときに何が起きているか分からなくて止まる人が多いんですね。1カ月だけでも挟んだほうが、結果的に早いと思います。
Q. 作るものが思いつきません。
A. 素のPHPの段階なら、一言メモみたいなシンプルなもので大丈夫です。大事なのは、入力・保存・一覧を最後まで通すことです。
まとめ
- Progateの次は、素のPHPで「入力・保存・一覧」を1つ最後まで作る
- 期間は1カ月くらい。そこからLaravelに進む
$_POST・プレースホルダ・エスケープは、自分の手で一度書いておく- 次の教材を探しに行かない。足りないのは、最後まで作った経験
文法を覚えるのと、作れるようになるのは別なんですね。
まずは小さいものを1つ、最後まで作ってみてください。
次に読む記事
LINEでの無料相談を受け付けています。 「Progateが終わって、次に何をやればいいか分からない」という相談で大丈夫です。勧誘はしません。
https://lin.ee/pzJx257