「PHP(プログラミング)を勉強してみたいけど、何から始めれば良いの?」
「覚えることは多そうだけど、勉強手順が分からない」
PHPを勉強してみたいけど、何をどうやって進めていけば良いのか分からないなら、ぜひこの記事を読んでみてください。
僕はバリバリの文系・元営業で、25歳からプログラミングの学習をスタートした人間ですが、
試行錯誤しながら学習を続けて、何とかプログラミングができるようになってきています。
そんな僕が「ゼロからPHPを勉強することになったら、この順番で学習する」という方法を、ご紹介したいと思います。
今回紹介する1〜6までのステップで進めてもらえれば、
- 呪文のような言葉で書かれているWEBサイト上の解説の意味が分かるようになる。
- 簡単なwebサービスくらいなら作れるようになる。
という効果を実感してもらえるはずです。
それでは、ステップ1から順番に解説していきます。
ステップ1:まずは、HTMLとCSSを学ぶべし!
(HTMLとかなら分かるよって人は、このステップはスルーしてもらって大丈夫です。)
「ん?PHPじゃないの?」なんて声が聞こえてきそうですね。
Web系の言語であるPHPをやるなら、初歩的なHTML・CSSを学んでおく必要があります。
「いやいや、HTML・CSSって何?」って人もいると思うので、カンタンに説明しておきますね。
HTML・CSSとは、ホームページの
今あなたが見ている僕のブログも、普段使っているwebサービスも、見た目(デザイン)の部分は「HTMLとCSS」で構成されています。
何で、「HTML・CSS」から勉強するの?
何でPHP(プログラミング言語)とは別のものを勉強するのか?って感じるかもしれません。
その理由は単純で、ほとんどのプログラミング書籍・Web上の解説が、
HTMLとCSSをある程度分かっていることが、前提で書かれているからです。
HTMLとCSSを覚えるだけでも、カンタンな「Webサイト」を作ることができます。
そこに対して、掲示板とかお問い合わせフォームなどの、
訪問者のアクション(書き込みなど)に合わせて、何らかの処理(書き込みの反映など)を行うのがプログラミング言語(PHP)のお仕事というわけです。
※厳密にはDB(データベース)なども絡んできますが、本記事のステップを進めてもらえれば分かってくる話なので割愛します。あくまでイメージだけ掴んでおいてください。
HTML・CSSは、Webサイト・Webアプリケーションを作る上での基礎なので、まずはそこから勉強していきましょう。
HTML・CSSの勉強は、Progateを利用するのがオススメ!
僕がオススメするHTML・CSSの勉強方法は、
「Progate(プロゲート)」というサービスを利用することです。
Progateはゲーム感覚で学べる学習サイトなので、入門にはもってこいのサービスなんです。
スライドで解説を見る
↓
実際に書いてみる
っていう繰り返しで進んでいきますし、書き始める為に環境を整えたりっていうことが必要ないので、とても気楽に始めることができます。
HTML・CSSの基礎を勉強するのなら、「Progate」が一番取っつきやすい教材だと思います。
Progateには有料プランもありますが、HTML・CSSの基礎を学ぶのが目的なら、無料プランでも十分勉強できます。
「お金がかからない」というところもオススメできるポイントですね。
HTML・CSS以外にも、PHPのコースもあったりするので、プログラミングのことを総合的に勉強できますが、
PHPに関して言えば、実際に何かを作れるようになるには、少し内容が足りないところもあります。
その為、プログラミング(PHP)に関しては、ステップ2以降の勉強方法をオススメします。
ステップ2:「プログラミング」とは何かを知る
HTML・CSSのことが分かってきたら、「ついにPHPを始めましょう!」と言いたいところですが、ここで小休止。
まずは、「プログラミングって何なんだ?」ということを知って、イメージを膨らませていきましょう。
プログラミング = コンピュータへの指示
プログラミングというのは、
ざっくり言うと、人間の言葉が分からないコンピュータに対して、
コンピュータが分かる言葉で、「この仕事やっといてね」って感じで説明していく為のものです。
だから、プログラミング「言語」なんですね。(正確には、コンピュータが理解できるように、さらに「翻訳」する必要があるのですが、現時点では気にする必要はありません)
コンピュータはとても忠実に実行してくれる良いヤツですが、人間みたいに融通は効きません。
人間相手なら、「ちょっとコーヒー淹れてくれる?」ってお願いの仕方でも、
コーヒーの準備をして、持ってきてくれるまでしてくれます。
でもコンピュータはとても忠実なので、
まずコーヒー豆を、あの棚の3段目から取り出して〜〜、
コーヒーカップを机の上に置いて〜〜、
コーヒーがカップに入っていることを確認してから〜、
君から見て、左に三歩進んだところに持ってきて!
って感じで、逐一説明しないといけないわけです。
「プログラミングって何?」を知っておくと、後がラクになる
完全未経験の場合、「プログラミングって、こういうことか!」って感覚があると、今後の学習がとてもスムーズになると思います。
このあたりの解説を丁寧にしてくれているのが、以下の本です。
とは言え、この本を読んでも、実際にプログラミングができるようにはなりません。
なので、必須ではないです。
余裕があれば、読んでみてください。
ステップ3:PHPを始めてみる
では、このステップからPHPに触れていきます。
PHPの一番最初の入門として、オススメするのがこの本です。
表紙がポップなので、少し不安に思う人もいるかもしれませんが、とてもオススメできる入門書です。
実は、プログラミングの「入門書」っていうのは2種類あるんです。
入門書1:「他の言語経験者」に向けたもの
入門書2:「プログラミング未経験者」に向けたもの
何も知らずに前者の本を購入してしまうと、挫折まっしぐらになるというわけですね。
もちろん、この本は後者なので安心してください。
プログラミング未経験者が学ぶことを前提に、他の本ではスルーされがちな「環境構築」から丁寧に説明してくれています。
かんたんに見えて、奥の深い解説がされており、実際に手を動かしながら学んでいくことができます。
実際にコードを書きながら進めていくので、エラーが出たりして、なかなか先に進めないこともあるかもしれません。
でもその分、自分の思った通りに動いてくれた嬉しさも半端じゃありません!
プログラミングの楽しさと辛さの両方を経験できる良書ですので、是非この本でPHPを始めてみましょう。
慣れてくると、自分で直しながら進めることもできますが、PHPは1文字間違っているだけでも動かないので、誤植はかなりの初心者泣かせです。
WEB上に正誤表が用意されているので、チェックしながら進めていきましょう。
ステップ4:PHPでの開発に触れてみる
上述の本をやり終えたら、次はこの本にチャレンジしてみましょう。
このポップな表紙。そう、ステップ3で紹介したものと同じ著者の本です。この本は続編というような形となっていて、より踏み込んで学ぶことができる内容となっています。
DB(データベース)の知識も吸収しつつ、1からショッピングカートを作っていくことになります。
なので、ポップな見た目とは裏腹に、ものすごくボリュームのある本です。
また、この本では、自分で調べないといけない場面も度々出てきます。
プログラミングの勉強というと、暗記しなきゃと思うかもしれませんが、実際にはそんなことはありません。
たくさんの人がWEB上にヒントや解説を残してくれており、プロの現場でも、みんなググりながら開発しています。
分からないことを自分で調べる力も、プログラミングする上で必要な能力なんですね。そういった部分も程良く鍛えることができる内容となっています。
もちろん、この本だけでは足りないこともたくさんあります。
でも、1からショッピングカートを作ってみることができるので、この本をやり終えることができれば、大きな自信になると思います。
この本には1つだけ鬼門があります。
僕はなんとか解決方法が分かったので良かったですが。(本当に投げ出しそうになりました)
著者の方が質問も受け付けてくれているようなので、どうしてもダメなら、質問してみても良いでしょう。
このステップを終える頃には、何となくPHPやデータベースの使い方が分かるようになってきていると思います。
しかし、お手本のコードが無い状況で、
「自分で考えて作る」レベルになるには、まだまだレベルアップが必要です。
次のステップ以降をこなしていくことで、ここから更に、ぐっとレベルを上げることができます。
ステップ5:WEBの基礎を知っておこう
このステップまで来ると、「自分にもプログラミングできるんだ」って、自信が湧いてきている頃かもしれません。
ですが、ここであえて立ち止まってみましょう。
PHPで構築できるのは、いわゆる「Webアプリケーション」というやつです。しかし、このWebアプリケーションはPHPだけで構成されている訳ではありません。
あくまでPHPも「Web」の技術の一部です。
自分で開発を進められるレベルになる為には、HTTP通信やサーバーなどの周辺技術への多少の知識も必要になります。
こういった内容を体系的にまとめてくれている書籍は多くないのですが、僕がオススメするのは、この本です。
この本を読むことで、様々なwebに関する技術を学ぶことができます。
それぞれの技術が登場した背景から説明してくれるので、分かりやすく、読み物としても面白い内容となっています。
Webを取り巻く全体像を把握することで、よりPHPへの理解を深めることも可能となるでしょう。
コードを書くことに対してワクワクが止まらない状態になっているのであれば、このステップは飛ばしてしまっても構いませんが、どこかのタイミングで一読してみることオススメします。
これまでのステップでやってきた内容も、「裏側ではこんな処理をやっていたんだ」というように、すっきりと論理的に理解できるようになります。
並行して、「PHPマニュアル」の読み方を知っておく
また、このステップあたりから、並行して「PHPマニュアル」の読み方も覚えておくと良いです。
本格的にPHPを触っていくと、PHPマニュアルは何度も見返すことになるのですが、プログラミング初心者にとって理解しがたい書式となっています。
なので、PHPマニュアル自体の「読み方」を分かっておく必要があるわけです。
「PHP マニュアル 読み方」というワードで検索してみると、丁寧に解説してくれているサイトが見つかるので、ぜひ確認しておきましょう。
ステップ6:本格的にPHPを学んでみる
最後にオススメするのが、この「パーフェクトPHP」という本です。
この本を読んでみると、今まで紹介してきたサービスや本と比べて、一気に難易度が上がったと感じると思います。
基礎的なPHPの文法や関数のほか、実際に自分で「フレームワーク」を構築し、そのフレームワークを利用したアプリケーション開発も体験できる内容になっています。
ただし、「かんたん」というのは、プログラマ向けの話です。
最初はコツコツ、普通のPHPを勉強しておくと良いと思います。
サンプルコードが記載されているので、打ち込みながら進めていきましょう。
難易度も高い本ですので、それなりの時間を費やすことにもなると思います。
しかし、それに見合う価値があります。
実際の開発においては、PHPで1からシステムを構築するということは少なく、「CakePHP」や「Laravel」といったフレームワークを利用します。
ステップ5までを終わらせた段階で、フレームワークの勉強を始めても良いのですが、
同じPHPでも別物のように感じてしまい、スムーズに学習を進めることは難しいと思います。
「パーフェクトPHP」では、このフレームワークの作り方を学ぶことができるのです。自分でフレームワークを構築してみる経験をすることで、フレームワークの裏側の処理を理解することができるようになります。
基本的にフレームワークを利用するのは、ある程度PHPを分かっている人なので、
丁寧な解説本が多い通常のPHPと比べて、フレームワークの入門書の数は少ないです。
公式のリファレンスにあたることが基本になります。
なので、こういった部分の理解ができる知識を付けておくことで、フレームワークであってもスムーズに入っていくことができるようになります。
PHPはバージョンにより書き方が異なっていたりするので、少し古いところを不安に思う人もいるかもしれませんが、十分勉強になるので、安心してください。
使用するPHPのバージョンを5.3に合わせて、学習を進めていくのが良いと思います。
以降のステップは、実践あるのみ
ここからの勉強方法は、自分の作ってみたいものを作ってみるという実践あるのみです。
次のステップとして、フレームワークを構築してみた経験を活かして、CakePHPなどのフレームワークでの開発などにチャレンジしてみても良いかもしれません。
また、PHPでの開発はDBの操作が密接に関わってくるので、SQLの勉強をしてみることもオススメです。
ちなみに、僕は下記の本でSQLの基本を勉強しました。
分かりやすい本だったので、紹介しておきます。
最後に
今回は、ゼロからPHPを勉強することになったら、こうやるかなという方法をまとめてみました。
まだまだ修行中である僕が言えたレベルではないのですが、ここまでやってこれば、それなりの基礎力がついてきているはずです。
勉強方法に悩んでいる人は、是非、今回紹介した方法を参考にしてみてもらえると嬉しいです。