オススメPHP入門書!素人の私がウェブサービスを作るまでに読んだ4冊

私はエンジニアでもなければプログラマでもなく、プログラミングのことを誰かに教わったこともありません。

しかしある時、仕事の都合でどうしてもPHPを独学で学ばなければならなくなりました。

プログラミングに関してはほぼ無知の状態でしたので、2~3か月という短い期間で PHP を理解できるようになれと言われ、一時は途方に暮れてしまいました。

でも、自分なりに戦略を立てて学習を進めたことと、いくつかの良い入門書に出会えたこととで、我ながら見事に PHP を理解できるようになりました。

実際どのくらい理解できたかというと、自分の趣味として「Rポイントサーチ」というウェブサービスを作ってしまったくらいです。

Rポイントサーチは、「楽天ポイントの倍率」を指定して商品を検索できるサービスです。ポイント5~10倍の商品もカンタンに見つかります。高ポイント商品を効率よく探しましょう。

こちらは、「楽天の API と通信して、ポイント倍率を基準に商品を検索できる」というサービスです。ごく簡素ではありますが、PHP で作成しています。

つまり、良い入門書を使って適切な方法で学習すれば、ゼロからスタートしても短い期間でこのくらいはできるようになるんです。

そこでこの記事では、PHPやウェブプログラミングというものについて全くの無知だった私が、ウェブサービスを自力で作成できるようになるまでに読んだ4つの本と、私なりの学習方法をご紹介したいと思います。

4冊も読んだの?多すぎじゃない?と思われるかもしれませんが、本格的な PHP の学習書は、実は2冊だけです。

残る2冊は何かというと、1冊はウェブプログラミングの「超」入門書、もう1冊はオマケです。

とはいえ、4冊取り組んだのには理由がありますので、そこは後述します。

もしあなたが「PHP についてまだ何も知らないけど、できることなら何か作ってみたいなぁ」と考えているのであれば、かつての私と状況がよく似ています。

以下の内容を是非参考にしてみてください。

スポンサーリンク

挫折しないための段階的な学習

私が何かちょっと難しめのことを学習するときに気を付けていることは、途中で挫折してしないように予め対策をすることです。せっかく時間を費やすので、道半ばで諦める事態になってしまうと、時間がもったいないですよね。

途中で挫折してしまわないための対策は、具体的に言うと「非常にやさしいレベルから始めて、段階的に難しい事項の学習に移っていく」という、言ってみればありふれたスタイルで学習をすることです。しかし実に効果的です。

PHPでも、まずは「超」がつくほど内容が易しい入門書から始め、段階的に、しっかりとしたプログラミング概説書に移行していきました。以下、私が読んだ本をご紹介していきます。

『Webとプログラミングのきほんのきほん』

『Webとプログラミングのきほんのきほん』は、一言で言うとウェブプログラミングの超入門書です。予備知識として HTML・CSS 程度を理解していることを前提にしています。そして、ウェブの通信がどのような仕組みで動いているか?というところから話がスタートします。

ウェブの通信というのは、ブラウザがサーバーに情報を要求し、サーバーがブラウザの要求に応えて情報を送信し、ブラウザがその情報を解釈して表示する、という一連の手続きです。そこには PHP 以外にも、DNS、HTTP、JavaScript などの様々な技術が用いられています。本書ではその全体像をざっくりつかむというところ目標にしています。

本書は PHP の入門書とは言えません。ですが、本書の一部でウェブプログラミングのコードが紹介されているため、PHP のこともなんとなく雰囲気がつかめます。解説も全体的にかなりやさしい言葉で書かれています。

HTML・CSS のことは知っているけど、その先のことは知らないなぁという方に、かなりオススメです。

なお、本書のレビューは、以前1つの記事として書きましたので、合わせてどうぞ。

Webプログラミングは、私にとって長年の謎である。HTMLは分かる。CSSもだいたい分かる。でも、ブラウザからWebサーバー...

『10日でおぼえるPHP入門教室』

前掲書でウェブプログラミングの基本をおさえると、次は自分でも簡単なコードを打ち込みながら PHP を学びたくなってきます。

「自分でもプログラムを書いてみたい」という感情は重要です。プログラミング言語というのは、結局のところ自分で手を動かしてみなければ理解できるようにはならないからです。

自分で書きたいという気持ちを大事にしつつ、私が読んだのが次の本です。

『10日でおぼえるPHP入門教室』は、翔泳社の「10日でおぼえるシリーズ」の一冊です。

「10日でおぼえるシリーズ」はどれもそうなのですが、「自分で手を動かしてコーディングする」ということを非常に重視しています。

どれほど重視しているかというと、全ての章において、解説よりも先にサンプルコードが登場します。つまり、サンプルコードを自分の PC に打ち込んで動かしてみてくださいね、っていうところからスタートするんです。コードの解説が出てくるのは、その後です。

「実践」→「解説」という順序は、慣れない人にはちょっと不思議な構成に見えるかもしれません。でも、実際にサンプルコードを真似て自分の環境で動かしてみることで、色々な学びがあります。

少なくとも、プログラムをする際にはどんなことに気をつければよいのか、どんなロジックを組めば効率的なプログラムが可能になるか、ということを明確に意識できるようになります。それが、「実践」→「解説」という順序で学習を進めるメリットです。

本書のもう一つの特徴として、各章が「第3章 名簿アプリを作成しよう」「第4章 アンケートフォームを作成しよう」という具合に、「作りたいモノ」をテーマにしています。そして、そのテーマを実現するのに必要な概念を学んでいく、というスタイルで学習を進めます。

よくあるプログラミングの入門書では、「第3章 変数」「第4章 配列」という具合に概念先行となっていることが多いのですが、これは初学者には結構キツい構成だと思います。

そもそも「変数」「配列」がどんなものかよく理解できていないのに、「はい変数はこれです!配列はこれです!」と言われても、ピンと来ないからです。

しかし本書の場合は違います。「第3章では名簿アプリを作りたいので、変数と配列というものをこんな風に使います」という具合に「テーマ先行」で説明してくれるので、初学者でもその概念の使いどころがイメージしやすいんです。

本書を最後まで読み切ると、データベース連携まで学習できます。そこまで学べば、実際にウェブサービスを作ってしまうことすら全く不可能ではありません。

しかし、本書は入門書である都合上、重要であっても触れていない話題が2つあります。ひとつは、「クラスとオブジェクト」の概念です。これは本書では完全に省略されています。もうひとつは、セキュリティ面の話。ウェブサービスを公開するにあたってセキュリティは必須事項ですが、本書には十分な記述がありません。

ですので、実用的なウェブサービスを作ったり、そのコードを理解したりするためには、次節で紹介する『独習PHP』でいっそう踏み込んだ学習をしていく必要があります。

『独習PHP』

実は、私は学習の最初の段階から、こちらの『独習PHP』が問題なく読めるレベルの知識を得る、ということを最終的な目標にしていました。

というのも、プログラミング言語に関しては、この「独習シリーズ」を克服できれば、その言語の理解は一通りはできると言ってよいと聞いていたからです。

実際、『独習PHP』はかなりぶ厚く、内容もやや難しめの話題が多いです。なので、PHPについて無知の状態でこの本に取り組んでも、絶対に勝ち目はありません。

だからこそ、前に挙げた2冊の本を読んできたわけです。それらの本は、『独習PHP』と格闘するためのトレーニングだと私は考えていました。しっかりと頭をならした後、満を持して『独習PHP』に立ち向かったのです。

ところで、実を言うと『独習PHP』の著者は先の『10日でおぼえるPHP』と同じ人です。そのため、PHP 学習の順序や切り口は、『10日でおぼえるPHP』と重なる部分も多くなっています。読む側としては、全体の3分の1くらいは、復習するつもりで学習を進めることができます。

先の本でPHPの基本的な理解ができるようになっていますので、それを土台にして、演算子・組み込み関数・ユーザ定義関数・データベース連携などの専門的な解説を読んでいきます。

さらに、前掲の本には無かったクラス・オブジェクトの詳細と、セキュリティ対策についての詳細も、本書ではそれぞれ1章が割り当てられています。

500ページ以上ある独習書ですので、「本当に読めるのか?」と少し圧倒されてしまうかもしれませんが、ここに至るまでの学習で基礎ができていますので、行き詰まることもなく読みこなすことができます。

『3日で作るPHPアプリケーション』

私の場合、『独習PHP』を読み終えた時点で、「PHP を理解したい」という当初の目的は達成してしまいました。ですが、今度は自分でもPHPでウェブサービスを作ってみたいという欲が出てきました。

そのため、「実際に開発をする際に開発者がどんなことを考えながらどんな順序で作るのか」といったことを知りたいと考えるようになり、次の『3日で作るPHPアプリケーション』に手を伸ばしました。

本書は今回取り上げた4冊の中でも1番薄く、サラッと読める本です。たまたま Amazon のマーケットプレイスで安く手に入ったので、オマケ的な気分で読んだところもあったのですが、内容は良かったです。

本書の体裁としては、「プログラミングの専門家が、出版社の編集者にプログラミングをレクチャーする」というものです。レクチャー時のやり取りを文字に起こした感じになっています。つまり、対話形式です。

「動いてナンボ」のプログラムを作るということで、最終的には Amazon のウェブサービスと連携して稼ぐ!ということをテーマにしたウェブアプリを作ります。お金を稼ぐことをひとつの目的にするので、読むモチベーションがだいぶ高まります。

本書を読んで非常に良かったなぁと思うのが、実際にプログラマがプログラムをするときに何を考えているのかということが、分かったことです。それは、対話の中でも語られていますし、プログラムコードの中に手書き風に記されている矢印等でも分かります。

ここまでの学習で、おそらくプログラマもこんな風にコードを読み書きするのだろうなということが、おぼろげながら想像がつくのですが(たとえばforeach 構文のところでグルグル回って抜ける!みたいなイメージをすることとか)、この本を読んで「やっぱりプロの意識もそんな感じなのね」と理解できたのが良かったです。

おわりに

以上、簡単ですが私が PHP を学習する際に使用した書籍をご紹介しました。もう1度簡単に内容を振り返っておきたいと思います。

  • まず、『ちゃんと使える力を身につける Webとプログラミングのきほんのきほん』で、ウェブサービスの基本的な仕組みとウェブプログラミングの基本事項を理解する。
  • 次に、本格的な学習書の1冊目として、『10日でおぼえるPHP入門教室』を読み、サンプルプログラムを真似て自分でコーディングしてみる。
  • PHPの基礎事項の理解が済んだら、本格的な学習書の2冊目『独習PHP』で復習をしつつ、より高度な事項の理解を進める。
  • オマケとして、『3日で作るPHPアプリケーション』を読んで、実際にウェブサービスを作る人の思考を疑似体験する。

以上の順番で PHP の学習を進めれば、2~3ヶ月という比較的短い期間で、挫折することなく十分な学習が進められます。また、私が作った「Rポイントサーチ」くらいのものは、本当に簡単にできてしまいます。

全くの初心者状態から、ウェブサービスを作るまでの道のりは一見困難なようですが、段階を踏んで学んでいけば恐れることはありません。

この記事が、あなたの学習の参考になれば嬉しいです。

スポンサーリンク
スポンサーリンク