「PHPは他の言語と比べて簡単」という理由で、PHPを学習しようとする人は少なくないでしょう。
しかし、いざPHPの学習を始めてみると、正直思っていたよりもかなり難しいと感じるのではないでしょうか。
もし、そのように思われているのであれば、大きな勘違いをしている可能性があります。
今回は、現役のPHPエンジニアであり、新入社員の育成も行った経験のある僕が、
- なぜ簡単なはずのPHPを難しいと感じるのか
- 挫折しないPHPの学習方法
についてお話します。
プログラミング初心者がPHPを難しいと感じる理由

初心者がPHPを難しいと感じる理由をまとめると以下の3つです。
- 初心者と経験者の「PHPは簡単」のイメージが違う
- 言語のルール以外に覚えることが多い
- オブジェクト指向など曖昧な概念が出てくる
詳しく解説していきます。
初心者と経験者の「PHPは簡単」というイメージが違う
まず1つ目の理由としては、経験者が言う「PHPは簡単」という言葉がプログラミング初心者を誤解させているためです。
もう少し具体的に言うと、プログラミング初心者はPHPを学習難易度は以下のようなイメージを持っているでしょう。
HTML < CSS < jQuery = PHP = Ruby < Goなどその他の言語
しかし、実際の難易度は以下の通りです。
HTML < CSS < jQuery <<<<< 越えられない壁 <<<<< PHP = Ruby < Go
なぜこれほど急に難易度が上がるのかというと、HTMLやCSSはエラーが出ても正しく画面に表示をしてくれます。
しかし、PHPはエラーが発生すると画面に英語の文字が表示されるだけで、画面の表示を行ってくれません。
特に慣れていない間は、「よくわからないエラーが解決できずに辛い!」という状況になりがちです。
PHPは、プログラミング言語の中では簡単な部類に入りますが、決して学習が簡単というわけではないのです。

簡単だからできると甘く見てると挫折しやすくなるよ!
言語のルール以外に覚えることが多い
また、PHPを使ってWebアプリケーションを作るなら、言語以外にも様々な知識が求められます。
以下にその一例を挙げてみます。
これでも全て挙げているわけではないので、単純に理解する項目が非常に多いですね…
特に学びたてのころは、これらの知識がなぜ必要で役に立つのかが全くわからない状態です。
したがって、次から次へと出てくる新しい概念を1つずつ身につける力が必要になるのです。
オブジェクト指向などの曖昧な概念が出てくる
PHPを学習し始めると、必ずオブジェクト指向という概念が登場します。
しかし、これらの概念は非常に曖昧であり、明確な正解が存在するわけではありません。
したがって、オブジェクト指向などの概念を独学で身につけるのはハードルが非常に高いのが現実です。
もし、学習しているときに理解が難しい概念が出てきたら、15分悩んで後は無視するのが賢明ですね。

オブジェクト指向はわからなくてもエンジニアになれるから大丈夫!
プログラミング初心者がPHPを独学で学ぶのは難しいのか?

ここまで読んで、PHPの学習は学ぶことが多く、独学で学べるか不安と思われたかもしれません。
結論からお話すると、PHPを独学で学ぶのは可能ではあるものの苦労する可能性は高いです。
その理由は以下の2つです。
- 自力でエラーを解決できない
- HTMLやCSSよりも長時間の学習が必要
自力でエラーを解決できない
プログラミング学習は独学では挫折率が高く、その挫折率は9割に上るという話があります。
挫折率が高い最も大きな理由は、エラーを解決できないためです。
エラーが発生したときは、エラーメッセージを確認すればエラー内容が書かれているのですが、最初のうちはエラー内容が理解できないことも少なくありません。
現役エンジニアなら5分で解決できるエラーも、初心者は2時間かけても解決できないのはよくあることです。
HTMLやCSSよりも長時間の学習が必要
また、PHPの習得にはHTMLやCSSよりも長時間の学習を必要とします。
具体的にどれくらい学習時間が必要になるかというと、独学であれば300時間が1つの目安になります。
300時間はどれくらいの時間になるか?と言われると
- 3ヶ月・・・土日8時間、平日2時間
- 半年・・・土日4時間、平日1時間
を毎日続けた時間になります。
経験上にはなりますが、独学でこれだけの学習を続けられるのは全体の10%程度でしょう。

いつの間にか学習しなくなった人を、Twitterで数多く見てきたよ…
難しいPHPを挫折なしで学習する方法

PHPを挫折することなく学習を進めたい!と思う方も多いですよね。
挫折しないPHPの学習方法は以下の3つです。
一方、本で学習しようとすると挫折しやすいので避けましょう。
挫折しないPHP学習方法①:動画学習
PHPに限らず、プログラミングを動画で学習するのは挫折しにくい学習方法です。
なぜなら、動画はリアルタイムに自身の画面と動画上の画面の確認が行えるため、自分がどこの手順で間違ったかを把握しやすいです。
PHPを始めたばかりという方はProgate、実践的なアプリケーションを開発したいという方はUdemyで学習をすすめるといいでしょう。
ProgateでPHPを学習する内容や手順は以下の記事にまとめています。
» ProgateでPHPを学ぶときの勉強手順や身につくスキルを紹介します
Udemyで勉強するなら、「PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門」という動画がおすすめです。

この動画では、PHPの基礎からデータベースを操るSQLという言語、簡単なWebアプリを作る方法まで全て紹介されています。
動画の中ではPHPの開発環境を構築する方法も紹介されているので、この動画のとおりに進めていけば、Webアプリの開発を一通り体験することができます。
動画学習は価格も抑えられるので、おすすめです。
挫折しないPHP学習方法②:プログラミングスクールに通う
いちばん挫折しにくいのは、プログラミングスクールに通う方法です。
プログラミングスクールを上手く活用することができれば、
など、最も効率よく学ぶための環境が充実しています。
とはいえプログラミングスクールは価格が数十万円もするものが多く、少し手が出せない…と感じますよね。
しかし、良質なスクールほど未経験エンジニアを引き上げてくれる場所はありません。プログラミング学習で挫折するぐらいなら、お金を払ってでもスクールを利用する価値はあります。
中でも一番おすすめのスクールはtech boostです。

tech boostをおすすめする理由は以下のとおりです。
また、tech boostについて簡単にまとめると以下の通りです。
入会金 | 219,780円(税込)~ |
受講料 | 月額34,760円(税込)~ |
学習内容 | 基礎からオリジナルアプリ開発まで |
学習形態 | オンライン or 通学(渋谷) |
受講対象 | 制限なし |
学習期間 | 3~12ヶ月 |
料金は少し高めですが、着実にスキルを身につけられるため、料金に見合ったリターンがあると言えます。
まずは無料相談会で、あなたに合った学習プランを提案してもらうといいでしょう。
詳しくは、以下の記事でも紹介しています。
挫折しないPHP学習方法③:メンターに相談する
プログラミングスクールほど充実したサポートは期待できませんが、メンターに相談する方法もあります。
メンターもスクール同様、
など様々な効果が期待できます。
何よりもプログラミングスクールのように数十万円もかけることなく、月に数千円からでも相談できるという金銭的なメリットは大きいです。
とはいえ、

身近にプログラミングのメンターになってくれそうな人なんていないよ…
という人も多いと思います。
そんなときは、MENTAで現役のエンジニアに相談してみるのもおすすめです。

月3,000円~ぐらいの安い値段で現役エンジニアに相談できますし、自分が聞きたいピンポイントでの相談も可能です。
また、今ならユーザー登録で300円のクーポンも手に入りますし、スキルが上がってくれば今度は自分がメンターになって稼ぐことも可能です。
人気のメンターは予約できないこともあるので、早めに登録しておくことをおすすめします。
メンターの探し方については以下の記事でも詳しく解説しているので合わせてご覧ください。
» 失敗しないプログラミングのメンターの探し方【注意すべき4つのポイント】
【要注意】書籍での学習は挫折しやすい
動画学習やプログラミングスクールと違って、書籍学習は挫折しやすい学習方法といえます。
なぜなら、プログラミングの書籍は初心者向けであっても非常に分厚いためです。
挫折しないためとはいえ400ページもあると、正直読む気が起きないですよね。
書籍学習は、手軽で誰でも始めやすいものの、その分挫折する人が多いことも覚えておきましょう。

僕の本棚にも、読んでない初心者向けの技術書がいっぱいあったよ…
まとめ|PHPは難しいので学習方法をもう一度考えよう!

これまでの記事のポイントをまとめます。
- PHPは簡単ではない
- PHPを習得するにはPHPの学習以外にも様々な知識が必要
- PHPを独学するのは可能だが苦労する
- 挫折しないPHPの学習方法を実践することが大切
「PHPは簡単」と聞いた人にとっては騙された気分かもしれませんが、PHPは十分難しいと言えるでしょう。
PHPは初心者向けの言語ではあるものの、学習に心が折れそう…という方は、スクールに通うことを検討してみてはいかがでしょうか。