Pocket

働くにしても、自分でサービスを作り出すにしても、必ずと言って良いほど必要とされる『PHP』というプログラミング言語。

私自身、一切プログラミングを勉強したことのない状態からPHPを選び、独学で学んで来ました(途中で独学は効率が悪いことに気づき路線変更しましたが)。

PHPを学ぶことによって、今当たり前のように使われているwebサービスを自分の手で作れることを知り、思い切って独学で学習を始めました。

PHPが使えるようになれば、

一休(予約システム)

ぐるなび(検索システム)

これらのサービスを自分の手で作れるようになります(どちらもPHPが使われているWEBサービスになります)。

『こんなサービス作れたらめちゃめちゃ楽しいじゃん!』

そう思い、衝動的にPHPの学習を始めたことを今でも覚えています。

とはいえ、実際にPHPの独学を経験してみると、プログラミング言語の中でも簡単と言われているPHPでさえ難易度が高いなぁと感じる瞬間が多々ありました。

なのでここでは、プログラミングを一切触ったことがない私が、どのようにしてPHP言語の独学を進めていったのか?今再度勉強するならば、どのような学習方法を取り入れれば効率よく学習できるのか?

今回はその点について詳しく解説していきたいと思います。

正直な話、ただ本を読んでPHPを学び、コードを自分の手で打ち込んでスキルを身につけていくという当たり前の学習方法は、今の時代では相当効率が悪いです。

やり方次第では、1ヶ月2ヶ月で働けるレベルにまで成長できますので、もし短期間で結果を出したい場合には今回の内容はかなり参考になるかと思います。

▼短期間でPHPが学べるスクール

→Tech Academy(最短4週間のコースあり)

→Tech boost(3ヶ月学習の転職コースあり)

PHPは独学でも問題なく勉強できます!ただし‥

そもそも私は、最初プログラミングは独学するものだと思っていたため、最低限知識が得られる本を2~3冊購入した勉強を始めました。

ただ、今振り返ってみると、この選択肢はかなり遠回りだと思っています。

自分の手でPHPを扱うために必要になるのが

1,基本的なHTML/CSSの知識

2,PHPの開発環境

3,PHPの知識

この3つになります。

全くプログラミングを知らない状態でPHPの学習を始めた私は、まず最初に驚いたのが

『PHPを扱うにはHTML/CSSが必要』

だということでした。

その当時はPHPだけ学べばサービスを作れると勘違いしていたため、まずその段階で

『めっちゃ時間かかるかも』

と思ってしまいます(実際はそんなことはないのですが)。

初心者がこれら必要な知識を全て『本』で学ぶとなると、当然分からないポイント・心が折れそうになるポイントが出て来ます。

もしこれからPHPを学ぼうと考えている場合、全てを本で完結するのは絶対におすすめしません(そもそも開発環境を整える段階で、本に書かれていることを実践すると上手くいかないことがほとんどです)。

PHP独学経験者の私が難しいと感じたポイント

プログラミングど素人の私からすれば、最初は何もかもが難しく感じましたが、その中でもPHP学習で特にキツかった項目がいくつかあります。

言ってしまえば

『以下の項目の疑問を最初に解決することができれば、誰でもPHPは使えるようになる』

ため、これをクリアするための手段を事前に考えておくべきです。

物事を成功させるためには、過去に失敗した人の経験が一番参考になりますからね。

最初の環境作りの段階で心が折れそうになる

とにかくプログラミングの勉強は、心をバキバキに折ってくるイベントが発生しまくります。

特に初心者の頃は、自分のスキルでは解決できそうにもない無理ゲーな展開が頻繁に起こるため、プログラミングを勉強する以前の段階で挫折する事例も多発しています。

その中で、PHP学習で最初に心が折れるポイントとして挙げられるのが『環境作り』です。

PHPの場合、最初からパソコンに開発する環境が作られていないため、とりあえず自分の手でPHPプログラムを実行できる環境を作る必要があるのです。

※PHPでは、WEBサーバやデータベース( DB)の構築、モジュール設定など必要なことがいくつか出て来ます。

これを解決するためには、市販の本ではまず心が折れるので、実際に動画を見ながら実践できる学習サービスを選ぶのが得策です(動画であれば、同じようにやれば必ず開発環境が作れるので)。

PHPの開発環境の作り方を分かりやすく解説しているのが

→ドットインストール(動画無料教材)

→PHP入門(テキスト教材)

という動画サイトです。

こちらは『無料で有料以上の内容を学習できる超優良サイト』なので、今後あなたのプログラミング学習の手助けをしてくれるはずです(私は何度も助けられました)。

とりあえず、開発環境作りはここで解決できます。

PHP以前に理解すべきことがある

これは当たり前の話ですが、HTML/CSSを扱えないとPHPを埋め込むことができません。

PHPは動的にWEBページを作成できるスクリプト言語なので、HTML/CSSの基本的な概念が頭に入っていなければ、そのシステムを埋め込むことができません。

プログラミング未経験時代の私のように、PHPさえ学べばWEBサービスが作れると思っていると、HTML/CSSの基礎知識をおそろかにしがちなので、とりあえずまずはHTML/CSSを学び、その後にPHPを学習する必要があります。

ちなみにHTML/CSSはプログラミング言語ではありませんので、その点は注意しておいてください。

HTML/CSSの基礎学習に関しては、プロゲートであれば無料で学習することが可能です。

※ちなみに基本的なHTML/CSSの知識であれば、1週間2週間もあればある程度使えるようになります。

学習するのとコードを書くのでは次元が違う

HTML/CSSを学び、その後PHPの開発環境を整えてPHPの基礎を学習すれば、いよいよ自分の手で簡単なサービスを作る段階に入っていきます。

初心者にとっては、ここが一番楽しい段階ですね。

ですが、ここでもまた心が折れる挫折ポイントがやってきます。

プログラミングというのは、学習することは学校の勉強と同じように誰でもできます。

しかし、プログラミングを学ぶ目的は

『コードを書いて自分の手でWEBサービスを作る・仕事ができるレベルのスキルを身につける』

ことですから、学習することがゴールにはなりません。

実際に、プログラミングを何時間も勉強してからWEBサービスを作ろうとすると

『全くコードを書くことができない‥』

なんてことは当たり前のように起こります。

つまり、知識をインプットしても、その情報を『アウトプット』できなければ全く意味がないのです。

学習してもコードが書けなければ、それはただの知識であり『スキル』ではありません。

この現実に直面した時に心が折れてしまい、プログラミングで挫折を経験する人は山ほどいます(私も挫折を経験しています)。

エラーが起きても誰も助けてくれない

どうにかPHPの基礎を学習して、そこから自分の手でコードを入力できるようになれば、ようやくWEBサービスが作れる!と嬉しくなりますが、その段階に来ると『最大の関門』が立ち塞がります。

それが

『エラーの嵐』

です。

とにかくプログラミング初心者がコードを入力すると、ドン引きするくらいエラーが出まくります。

このプログラミングというのは『1つでも間違ったコードが書かれていると、正常にプログラムが作動しない』ため、完璧に仕上げる必要があるのです。

ですが、初心者の状態でプログラミングのエラーを見ても

  • どこにエラーがあるのか?
  • なぜエラーが出ているのか?
  • エラーの原因は何なのか?

がサッパリ分かりません。

せっかく自分の手でコードを書いたとしても、最初はほぼ100%の確率でエラーが出ることになるため、ここで適切な対処ができなければWEBサービスを動かすことはまず不可能なのです。

しかも独学を選択すると『誰も助けてはくれない』ため、とにかく自分の検索能力を駆使してエラーの原因を究明していきます。

私がプログラミングの独学をあまり推奨しない理由も、結局は『エラーとの格闘で9割以上が挫折するから』なのです。

これは実際にやってみれば分かります。

慣れればエラーはすぐに解決できるのですが、最初のスキルのない状態でエラーが出た時は、本気で絶望しますからね。

PHPの学習をスムーズにしてくれる3つの要素

プログラミング言語の中でも難易度が低いと言われるPHPですが、初心者にとっては当然難易度が高く感じます。

あくまでもこの言葉は『プログラミングスキルが身についた人たちの言葉』なので、最初はあまり当てになりません(いずれその意味が分かってきます)。

これからPHPを学ぶ、もしくはすでにPHPを独学で学んでいる場合、考えるべきことはただ一つ

『基礎学習をいかに効率よく終わらせるか』

これだけです。

プログラミングは『基礎さえ突破できればほぼ挫折することはなくなる』ため、この最初に何をするかが運命を変えます。

意地を張って独学をしていても、結局損をするのは自分です。

学習効率を高め、短期間で働けるレベルにまで達するためには『工夫』が必要になります。

過去に散々な失敗を経験した私が、これからPHPを学習するのであれば、必ず以下の通りに進めていきます。

最初の段階で分からないところを教えてくれる『スクール』を速攻活用する

最初の段階では、一度独学を経験すると学ぶことは多いですが、あらゆる失敗を経験した私が一つだけ明確に言えることは

『基礎のない状態で自分一人で学習する時間は無駄すぎる』

ということです。

学校の勉強でも、必ず新しい科目が出てくる時は先生が教えてくれますし、資格を取得する場合でも学校に通う・講座を受講することは誰もが当たり前のようにやっています。

しかし、プログラミングとなると、多くの人は自分一人で勉強することを選択してしまうため、プログラミング=挫折率が高い業界となってしまうのです。

実際にスクールについて調べてみると分かりますが

  • 転職成功率9割以上
  • 学習完走率8割超え
  • マンツーマンサポート付き

このような待遇で学習できる環境が整っています。

▼手厚いサポートでPHPが学べるスクール

→Tech Academy(マンツーマンメンタリングあり)

→Tech boost(現役エンジニアの手厚サポートあり)

途中でもお伝えした通り、プログラミングというのは『基礎さえ身につければ挫折することはほとんどない』ため、最初に自己投資できる人ほど成長スピードが圧倒的に早いです。

私自身は、このことに『独学で膨大な時間を無駄にしてから気づいた』ため、相当後悔しています笑。

なので、これからプログラミングを学ぶ人たちには同じ失敗をしてほしくありません。

どうしてもスクール費用が出せないのであれば『無料スクール』を活用し、ある程度費用を使えるのであれば『転職保証付き』『マンツーマンサポート』などの挫折率の低い環境に飛び込むのが最短ルートとなるでしょう。

挫折してからもう一度這い上がるのは、思っている以上にしんどいですからね。

PHP初心者レベルが学べる『無料サイト』の活用

本業が忙しく、どうしてもスクールに通う時間がない・費用が捻出できない場合には、まずは

『簡単なWEBサービスが作れる程度の基礎力』

を無料サイトで身につけましょう。

無料と聞くとあまり期待できないサイトに思われるかもしれませんが、最近の無料学習サイトのクオリティは相当高いです。

簡単なWEBサービスを作る程度であれば、無料学習サイトで十分スキルが身につきます。

オススメとしては、途中でもお伝えした

→ドットインストール(動画学習サイト)

→プロゲート(アウトプット主体の学習サイト)

この2つの無料サイトがオススメです。

上記2つのサイトで基礎力を身につけることができれば、後々のスキル向上がかなり楽になります。

注意点としては、無料サイトでは『実際に稼げるスキルは身につかない』ため、これはあくまでも『基礎学習』として考えておきましょう。

基礎を学んだ後に知識を枝付けする『本』

PHPに関しては、現在は分かりやすい本がたくさん出版されています。

もちろん、プロに直接教わる方が成長スピードは格段に早いですが、プログラミングスキルというのは、自分で後付けで知識を身につけることで、さらにできる幅が広がります。

基礎を教わったと思っていても、実際は理解できていないポイントがあったり、後々復習するために本を活用することは多々あります。

プログラミングを仕事にするのであれば、必ず

『テキストで問題解決をできるようにした方が良い』

です。

エラーが出た時も、結局ググって解決することがほとんどですから、テキストから読み解く力がなければ現場で周りに迷惑をかけてしまいますからね。

PHPの本の中でも、特に分かりやすいものをいくつかピックアップしておきます。

いきなりはじめるPHP

PHP関連の書籍の中でも、圧倒的に評判が良いのがこちらの『いきなりはじめるPHP』になります。

こちらの書籍の良い点としては、初心者でもPHPを理解しやすく解説していることに加えて、MySQL(データベース)の構築まで網羅された書籍なので、PHPで何かしらのWEBサービスを作ろうと思った場合には、とりあえずこの本を読んでおけば大体のことは解決します。

実際アマゾンの口コミもかなり良いので、実際に手にとった人たちからの評価も高いことがすぐに分かると思います。

いちばんやさしいPHPの教本

いきなりはじめるPHPと比較すると、若干表現が分かりにくい部分がありますが、読み手の相性もありますので、PHPの学習をスタートさせるのであれば、こちらの『いちばんやさしいPHPの教本』もチェックしておきましょう。

この本はシリーズ化しているため、教えている側もガチンコのプロです。

ただ、プロ特有の独特の表現もあるため、もしかしたらこの本が合わない人もいるかもしれません。

なので、できれば実際に書店で複数のPHPの教本を立ち読みし、その中で分かりやすいと感じるものを選ぶようにしましょう。

その候補の一つとして、この本を覚えておいてください。

パーフェクトPHP

上記の書籍2つあれば、基本的にはPHPの基礎は身につきます。

こちらのパーフェクトPHPに関しては『初心者から中級者以上にステップアップするためのバイブル』となります。

正直な話、PHPの書籍の中では少し難易度が高くなっています。

基礎的な話からフレームワークまで情報が網羅されているため、PHPを体系的に学びたいと考えた場合、とりあえず最初に手に取ってほしい書籍になります。

プログラミングは初心者から抜け出すきっかけ作りが必ず必要ですから、知識の後付けをする際にこの本を手に取ってみてください。

PHPフレームワーク

現場で必ず求められる『フレームワーク』のスキルは、こちらの本で学びましょう。

PHPはある程度理解できた、ただフレームワークがいまいちよく分からない‥。

そんな初心者向けの本がこちらになります。

フレームワーク『Laravel』に関しては、そこまで時間をかけなくても学習できる便利なスキルです。

現在Githubで最も支持されているフレームワークがこちらのLaravelですから、今後PHPを扱う際にはマストで必要になるはずです。

PHPのフレームワークの構造は似ているため、一つ覚えることができれば応用が効くので理解のスピードも速くなります。

 

[実体験]PHPで転職を考えるなら独学は効率が悪い

実際に私自身は、最初に選んだプログラミング言語がPHPでした。

しかし、その当時は全くお金がなく、スクールに通う費用・時間を捻出することが難しかったため、最初は近所の書店で適当にPHPの本を購入して勉強をスタートさせました。

しかし、その選択は今振り返ってみると『死ぬほど遠回りだった』と反省しています。

何を始めるにしても言えることですが、新しいことを学ぶ際には

『すでに知識を持っているプロに教わるのが一番早い』

ことは誰もが知っています。

現場で働いているエンジニアがプログラミングを教えてくれる環境があるのに、そこを無視して自分で独学をするのは、言ってしまえば

『地図を貰ってゴールに進めるのに、あえて地図を全く見ずにゴールに向かおうとしている』

ようなものです。

これは『ゲーム』であれば楽しめるかもしれませんが、自分の人生となると明らかに『無駄』です。

例え資金がなくても、クレジットカードの分割払いで転職保証付きのスクールに通い、そこでガッツリ学んで転職先を決めてからスクールの費用を払えば資金なんてそこまで必要ありません。

転職できなければ受講費用は全額返金されるため、抱えるリスクもありませんからね。

プログラミングの学習であらゆる失敗をしたからこそ『人に教わることの重要性』を感じていますし、私がもしこれからプログラミングを学ぶならば、早い段階でプロに指導を受けます。

もちろん様々な考えがあるとは思いますが、くれぐれも『自分の人生で一番大切な時間』を無駄にしないように気をつけてください。

一番スキルが身つくのは『現場』です!

そして、こちらも何をやるにしても言えることですが、机上で勉強し続けるよりも、一度思い切って現場に出て経験を積んだ方が成長スピードは格段に早いです。

例えば、運転免許を取るときにどれだけ運転についての勉強をし続けても、実際に一度運転した時の経験値には敵いません。

実際に車に乗り、公道に出て車を走らせる経験を一度するだけで、膨大な経験値を得ることができます。

いくら運転免許のテストの点数が優秀であっても、それが運転の上手さに繋がることはまずありません。

私がプログラミングで『基礎』を学んだら早い段階で働くことを推奨しているのも、結局は同じことです。

どんなに勉強したところで、実際の現場で得られる経験値には敵いませんので、このことを頭に入れてプログラミング学習を進めていきましょう。

この業界には

  • 1年以上プログラミングを勉強し続けている人
  • 12週間で転職を実現させてプログラミングで仕事をしている人

がいますが、この両者が1年後に同じ成長スピードかというと、実際は全く違います。

当然『現場』で働いている人間の方が伸びるスピードが格段に早いです。

結局どの業界もこの理屈が当てはまるので、何を再重要視すべきかは必ず最初の段階で理解しておきましょう。

まとめ

一度PHPを覚えると、WEBサービスを作る際にできることがかなり増えます。

正直、HTML/CSSだけしか使えない人の需要はそこまで高くはありませんが、HTML/CSS・PHPが使える人材はあらゆる企業で働くことができます(これは実際にプログラマー・エンジニアの求人を見ればすぐに分かることです)。

プログラミング言語の中ではPHPは『易しい』とは言われていますが、全くプログラミングを触ったことがない人からすると、最初は結構難しく感じるはずです。

その最初の苦しい時期に『独学』を選ぶか『プロのサポート』を受けるかは自由ですが、私が数々の失敗を経験したことから分かる通り、プロから直接教わるメリットは計り知れません。

時間よりもお金が重要であれば独学が理想的だとは思いますが、自分の将来を考えたときに『最短最速』で成長できる選択肢はどれか?ここを最初に考えるようにしましょう。

継続して学習を続けることができれば、誰でもプログラミングを扱うことはできますからね。

Pocket