ゼロからのPHP独学勉強法10ステップ【現役PHPエンジニアが伝授】

プログラミング勉強方法

PHPを独学で学ぼうと考えると様々な疑問が出てくるかと思います。

  • PHPを独学で進めたいけど何から始めればいい?
  • 自分の勉強法って正しいの?
  • そもそもPHPを独学で習得するのは可能なの?

など、PHPを独学で学習しようと考えると「何から始めたらいいのかわからない!」という方は多いかと思います。

 

そこで今回は、開発リーダーを務めた経験もある現役PHPエンジニアが

  • PHPの独学勉強法を
  • そもそも独学可能かということも含め
  • どこよりも細かく

PHPで簡単なWebアプリケーションを作れるようになるまでの10ステップを解説します。

この記事を読むことで、以下のことについて理解できます。

  • 独学でPHPを学ぶ必要な知識を知れる
  • 1人でWebアプリケーションを作るまでの道筋がわかる

それでは、具体的なステップについて見ていきましょう。

PHPを独学で進めるために必要な知識

一般的に、PHPはプログラミング初学者にとって学習しやすい言語だと言われます。

なぜなら、PHPは他の言語と比較しても以下のような特徴があるためです。

  • プログラムのルールが厳格でない
  • 広く使われている言語のためネットにも情報が多い

しかし、PHPの学習を進めようと思うとかなり多くの人が挫折を経験しています。

なぜなら、PHPを学習するということは、PHPだけでなくその周辺の技術についても知識が必要になるためです。

PHPの学習には周辺技術の学習が必須

上記でもお話しましたが、PHPの学習を進めるにあたってPHPだけ学習すればいいわけではありません。

もし、あなたがWebアプリケーションを作りたいと考えるなら、PHP以外にも以下の学習が必要になります。

PHPの学習に必要な知識
  • データベースの基礎知識
  • CookieやSessionの知識
  • GETやPOSTなどHTTPリクエストの知識
  • PHPを動かす環境構築の知識

なぜなら、PHPはWebに特化した言語であり、上記の知識はWeb開発では必須の知識ばかりのためです。

HTMLとCSSを理解している人ならWebサイトを作れて当たり前と思いますよね。同じようにPHPでWebアプリケーションを作れる人は、上記の周辺知識も身につけていて当たり前ということなのです。

これは、PHPのみに当てはまるわけではなく、RubyやGoなどといった全てのサーバーサイド言語に当てはまります。

つまり、どのプログラミング言語においても「言語以外にも学ばなければならない知識がある」ということを覚えておく必要があるでしょう。

PHPの独学に必要な時間の目安

先ほど言ったように、PHPのみを学習すればいいわけではありません。

では、PHPを独学で学ぶために必要な学習時間はどれくらいか?と言うと、最低300時間は確保したいところです。

300時間というのはHTMLとCSSも学んでいない完全初心者の場合なので、HTMLとCSSの学習を終えている方は短縮することも可能です。

ただし、正しい学習ステップを踏まずなんとなく300時間学習しても時間の無駄になってしまいます。そのため、具体的な学習ステップについて次の章で解説していきます。

本章のポイント
  • PHPの学習はPHP以外の周辺知識も必要
  • 学習時間の目安はおよそ300時間

 

PHPの独学勉強法10のステップ

では、具体的にPHPを独学で学ぶステップを見ていきましょう。

Step1:HTMLとCSSを学ぶ

まずPHPを学ぶにあたって、HTMLとCSSの知識を身につける必要があります。

なぜなら、PHPで書いたコードは最終的にHTMLに変換されてWeb上で表示されるためです。

そのため、HTMLやCSSの知識をつけていないのにPHPの学習を始めると、最終的に出力されるHTMLやCSSが理解できないという状況になってしまうのです。

したがって、まず初めにHTMLとCSSの学習を進める必要があります。その具体的な学習はProgateの「HTML」「CSS」を中級コースまで進めるのがいいでしょう。

コースは以下のコースを学習しましょう。以下のコースを全て学習しようと考えると月額980円かかりますが、それだけの価値は十分にあります。

HTML&CSSの上級コースやその他のコースについて学習しなくてもいいのか?と思われるかもしれませんが、Progateだけで完全にその言語を理解をすることはできません。

そのため、概要を理解できたら早めに次のステップに進むようにしましょう。

Step2:PHPの文法を学ぶ

続いて、PHPの学習に入っていきます。

まず、PHPを学習するにあたって、最初にすることはPHPを扱う基本ルールを覚えることです。

具体例を挙げるとPHPには以下のような処理を行うことができます。

  • 特定の値を保持することができる変数
  • 「1〜100を表示する」のような繰り返しの処理
  • 「変数が2のときだけ実行」のような特定の条件のときだけ実行する処理

これらのルールを組み合わせることによって、プログラムを組み上げアプリケーションを作ることができます。

上記のようなPHPの文法を学習するにも、まずはProgateで以下のレッスンを進めましょう。

Step3:デバッグの方法を知る

基本的なPHPの文法が理解できたところで、アプリケーション開発をする上で非常に重要なデバッグの知識を身につけて行きましょう。

デバッグとは、自分が想定しているようにアプリケーションが動作しているか確認する作業のことです。

 

例えば、以下のコードでは5が表示されてほしいのにブラウザでは何も表示されないケースがあったとしましょう。

<?php
  $text = 5;

  echo $txt; // ここで5が表示されてほしいけど表示されない
?>

ここで何も表示されないので、$txtの変数をvar_dump()で表示してみると

<?php
  $text = 5;
  var_dump($txt); // 値がNULLとなり5が表示されない

  echo $txt;
?>

ソースコードをよく確認すると、変数名が間違っており、$txtではなく$textということがわかったため修正できます。

<?php
  $text = 5;

  echo $text; // 5が表示される
?>

無事に表示が確認できることがわかります。

 

このようにプログラムが予想外の動きをしたときに、デバッグでその原因がわかるようになるのは必須の知識になります。

どうしてプログラムがその動作になるのか?を確認する作業を知っておくと、プログラミングの学習スピードも上がります。

Step1、2の復習も兼ねて電卓アプリを作ってみるといいでしょう。

学習ステップとしては、以下の2つになります。

デバッグの学習ステップ
dotinstall
Qiita
  • 電卓アプリをコピペする
  • function convertDispNum($num) {の次の行にvar_dump($num);と挿入して動作確認する

Step4:HTTPリクエスト(POSTとGET)を学ぶ

続いてHTTPリクエストについて学習していきましょう。

HTTPリクエストとは、簡単に言うとインターネットを通じてWebページを取得する依頼をすることをいいます(厳密には違いますが)。

例えばGoogleで「PHP 独学」と検索する際にも、「PHPを独学で学習するための情報ページを取ってこい!」というHTTPリクエストを投げています。

HTTPリクエストの学習では、まず以下の2つのリクエストについて扱えるようになりましょう。

  • POSTリクエスト
  • GETリクエスト

なぜなら、これらのリクエストでは、ページをまたいで情報を共有する際に必ず使うためです。

例えば、以下の「ユーザー入力画面 → 確認画面」のケースを考えてみます。

このようにページが移り変わったときに、ページ間で名前やメールアドレスを共有する方法の1つとして、POSTリクエストやGETリクエストが使われます。

HTTPリクエストについて学習する方法についてですが、実はStep3の電卓アプリでも使用されています。

まずは電卓アプリで、HTTPリクエストで「こんなことをしているのかな?」となんとなくイメージをつけてからお問い合わせフォームを作成するのがいいでしょう。

HTTPリクエストの学習内容
Samurai Blog

Step5:CookieとSessionを学ぶ

では、PHP初学者の多くの人がつまづくであろうCookieとSessionの学習方法について解説していきます。

CookieとSessionとは、正確な説明ではないのですが、ページをまたいでデータを共有するための仕組みと理解しておくとわかりやすいかと思います。

用途としては上記のHTTPリクエストと少し似ていると言えるでしょう。

ただし、上記のPOSTとGETとは大きく異なる点があり、CookieとSessionはログイン機能といった「何度ページを遷移してもデータを保持しなければならないケース」で使用されます。

したがって、上記のPOSTとGETの使い分けの例としては下記のように分類できます。

  • 一度きりでページをまたいでデータを保存したいケースはPOSTやGETリクエストを使う
  • 何度ページを遷移してもデータを保存したいケースはCookieやSessionを使う

 

学習方法としてはログイン機能を実装してみるといいでしょう。しかし、ログイン機能は一般的にデータベースも使用されるため具体的な学習方法は次のステップで解説します。

したがって、一旦ここの学習方法についてはスキップしてください。

Step6:データベースを学ぶ

PHPを独学するなら欠かせないデータベースの知識について学ぶ方法をご紹介します。

データベースとは、CookieやSessionのようにデータを保存しておく場所のことです。

CookieやSessionと何が違うのかと言うとCookieやSessionは、ある一定時間操作されないとデータが削除されます。

一方、データベースはデータを削除するための操作をしない限り永続的にデータが残ります。

  • 一度きりでページをまたいでデータを保存したいケースはPOSTやGETリクエストを使う
  • 何度ページを遷移してもデータを保存したいケースはCookieやSessionを使う
  • データを永続的に残したいケースはデータベースを使う

データが永続的に残るなら全てにデータベースを使った方がいいのではないか?と思われるかもしれませんが、全てにデータベースを使用するとWebページの表示速度が遅くなります。

したがって、実はHTTPリクエストで実現していることはデータベースを使用すると同様のことが実現できるものの、実際は上記のように用途に合わせて使い分けられていることを知っておく必要があるでしょう。

データベースで必須のCRUD操作

もう少し、データベースについて基本的な概念を知っておきましょう。データベースを学ぶ上で欠かせないのがCRUD操作という概念です。CRUD操作とは、

  • C・・・Create:データを保存する
  • R・・・Read:データを読み取る
  • U・・・Update:データを書き換える
  • D・・・Delete:データを削除する

というデータベースのデータをどう読み書きするか?という概念のことです。

難しく感じるかもしれませんが、メモ帳(=データベース)にメモを追加(=Create)したり、消したり(=Delete)するのと同じです。

データベースはCRUDで全て完結し、扱えるようになればどんなアプリケーションでも作ることができるようになります。

 

これらの勉強法は、Udemyの「PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門」という動画で学習するのがいいでしょう。

この動画では、PHPでの「Twitter風ひとこと掲示板」の実装を通して、ここまで紹介した

  • POSTとGETリクエスト
  • CookieとSession
  • データベース

についての理解を深めてくれます。

MAMPという開発環境の構築方法も紹介されているので、この動画のとおりに進めていけば、Webアプリの開発を一通り体験することができます。

Step7:セキュリティを学ぶ

セキュリティを学ぶと聞いただけで、難しそうと思われる方も多いでしょう。

実際、初学者にとってセキュリティは苦手意識が最も強い分野の1つであり、具体的なイメージを持ちにくい分野になるでしょう。

なぜなら、セキュリティを理解するためには、上記で紹介したようなPHPの周辺知識を理解しないとセキュリティの穴が発生する理由を理解できないためです。

したがって、この記事ではPHPを独学するにあたって最低限押さえておきたいセキュリティの知識だけを紹介します。

これだけは押さえるべき2つのセキュリティ知識

PHPを独学するとしても最低限押さえておきたいセキュリティ知識は以下の2つです。

  • SQLインジェクション
  • XSS(クロスサイトスクリプティング)

細かいセキュリティの知識については説明すると、それだけで1記事書けてしまうので省略しますが、上記の2つは最低限押さえておきたいところです。

具体的な学習方法についてですが、Udemyの動画の中に無料でセキュリティについて学べる動画があるので、これを利用しましょう。

この動画ではPaiza Cloudというブラウザで完結する環境をしようするため、PHPの開発環境がなくても簡単に学習できるのでおすすめです。

おまけ:徳丸本でセキュリティについて学ぶ

セキュリティ対策については、現役のエンジニアもかなり参考にしている通称「徳丸本」と言われる「体系的に学ぶ安全なWebアプリケーションの作り方」という本があるので、こちらで学ぶのが最も確実な方法といえます。

しかし学ぶといっても、この本は非常に分厚いため通読して学習することはほぼ不可能です。

したがって、何か機能を実装する際に、セキュリティに問題がないかこの本を確認しながら実装するのが最も良いでしょう。

今後、Web開発者になる人にとって手元にあって損はしない1冊なので、購入しておいてもいいかもしれません(持っておくと面接で盛り上がりますw)。

Step8:バージョン管理ツールを学ぶ

続いて、必須ではありませんが、PHPを独学するにあたってGitというツールの使い方について知っておきたいところです。

Gitとは、ソースコードにバージョンをつけることで、以前のバージョンのソースコードに簡単に戻れるバージョン管理ツールのことです。

例えば、Gitを使用していないと以下のように編集したファイルが乱立します。

  • sample.php
  • sample_2.php
  • sample_最新.php
  • sample_最新_2.php

こうした状況を避けるためにも、Gitを使ってきちんと古いバージョンも新しいバージョンも管理できることが重要というわけなのです。

 

学習方法についてですが、Udemyの「もう怖くないGit!チーム開発で必要なGitを完全マスター」という動画がおすすめです。

Gitの仕組みについて分かりやすく解説されているだけでなく、実際にGitをインストールして手を動かしながら学習できます。

Gitを使った開発手順の流れも学習できるので、チーム開発に必要な知識も習得できます。

Step9:フレームワークを学ぶ

いよいよPHPの独学としては終盤に入ってきました。ここまで学習すると簡単なWebアプリケーションを作れるようになっていますが、仕上げとしてフレームワークについて学んでおきたいところです。

フレームワークとは、一般的なWebサイトで使用される

  • ログイン機能
  • フォーム機能
  • その他の便利機能

を簡単に作成できるようにしてくれている、骨組みのプログラムのことです。企業で仕事をする際にフレームワークを使用せずに開発することはまず考えられません。

PHPであれば「Laravel」というフレームワークが圧倒的な人気を誇っています。

出典: Google Trends

具体的な学習方法ですが、Laravelを学ぶのであればLaracastsというオンライン動画サイトで学ぶのがいいでしょう。

Laracastsは、初級から上級までLaravelの充実したコースを揃えており、無料で学習する分だけでもかなりのクオリティです。
» Topic: Laravel|Laracasts

一点だけ難点があるとすると英語ということですが、ソースコードを写経するだけでもかなり勉強になります。

どうしても英語に抵抗があるという方はUdemyでLaravelの講座を探してみるといいでしょう。ちなみに、おすすめなのは「PHPからLaravelまでサーバーサイドをとことんやってみよう」という動画です。

Laravelの基礎やフレームワークについての知識だけでなく、検索フォームといった機能をLaravelで実装する方法なども紹介されています。

簡単なWebアプリの作り方も紹介されているので、フレームワークを使った開発を一通り学習できます。

Step10:MVCの設計を学ぶ

最後に、PHPの独学にあたって設計まで学べたら文句なしのレベルで優れています。

なぜなら、Webアプリケーションを長期的に運営したいと考えるのであれば、設計を学んでおくことは非常に重要なためです。

設計の学習を怠ってしまうとバグの発生しやすいコードになり、長期的には機能追加をすることが困難になります。

 

LaravelやCake PHPなどのフレームワークで最もベースになる設計の概念はMVCという概念です。

  • M・・・Model(データベースに接続する部分)
  • V ・・・View(HTMLなどの見た目を実装する部分)
  • C ・・・Controller(HTTPリクエストを処理する部分)

MVCの概念を学ぶためには、実際にWebアプリケーションを作るしか学習する方法がありません。

したがって、Step9で学んだ内容の、どこがModelでどこがControllerか?などを見直して自分で機能追加することが最も学習になります。

 

設計は非常に抽象的な概念です。そのため、設計を学ぶためには自分でwebアプリケーションを作り、

「このファイルはどこのディレクトリに置くべきだろう」
「このメソッドはどのファイルに書くべきだろう」

など試行錯誤を繰り返すことが非常に重要なのです。

ここまで来れば簡単なオリジナルWebアプリケーションが作れるレベルになっていると思うので、ぜひ学習を進めていってください!

設計の学習内容
  • Step9の内容でどこがModelやControllerになっているか考える
  • 簡単なオリジナルアプリケーションを作ってみる

 

PHPの独学に心が折れたら

ここまで、PHPの独学勉強法についてまとめてきました。

プログラミングを始めたばかりの人でも理解できるように、かなり具体的に学習方法を書いてきましたが、

正直1人でやりきるのは無理・・・

と思われた方もいるかもしれません。

実際、PHPは簡単と聞いて独学で始めてみたものの、学習に挫折する人も少なくありません。
» (関連記事)初心者がPHPを難しいと感じる理由と挫折しない勉強法を現役エンジニアが解説

挫折しそうな方はプログラミングスクールを利用してみるといいでしょう。

とはいえプログラミングスクールは価格が数十万円もするものが多く、少し手が出せない…と感じますよね。

しかし、良質なスクールほど未経験エンジニアを引き上げてくれる場所はありません。プログラミング学習で挫折するぐらいなら、お金を払ってでもスクールを利用する価値はあります。

中でも一番おすすめのスクールはtech boostです。

tech boostをおすすめする理由は以下のとおりです。

  • 最も人気のLaravelについて学べる
  • メンターは優秀な現役エンジニアのみ
  • オンラインでどこでも受講可能
  • 一人ひとりに最適な
  • キャリアサポートが充実している
    ※運営会社が人材紹介やフリーランス向けの案件紹介をやっているため

 

また、tech boostについて簡単にまとめると以下の通りです。

入会金219,780円(税込)~
受講料月額34,760円(税込)~
学習内容基礎からオリジナルアプリ開発まで
学習形態オンライン or 通学(渋谷)
受講対象制限なし
学習期間3~12ヶ月

料金は少し高めですが、着実にスキルを身につけられるため、料金に見合ったリターンがあると言えます。

まずは無料相談会で、あなたに合った学習プランを提案してもらうといいでしょう。

 

まとめ|PHPの独学は大変だけど不可能ではない!

この記事の中で出てきた学習のステップを再度まとめると、

という手順になります。ステップが多くて挫折しそうと思われるかもしれませんが、1つ1つのステップに数週間もかかるわけではないので、トータルで見ると約300時間あれば達成できるかなと思います。

学ぶことも非常に多く、プログラミングは難しいと思われるかもしれませんが、できるようになれば自分で様々なものが作れるため非常に楽しいです。

ぜひ、この記事を読んでPHPの独学でスキルアップしてもらえたらと思います。もし挫折しそうだと思ったのなら、プログラミングスクールの利用も検討してみてください!

タイトルとURLをコピーしました