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

最近、Rポイントサーチというウェブサービスを作りました。

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

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

私はエンジニアでもなければプログラマでもなく、プログラミングのことを誰かに教わったこともありません。ただ、仕事の都合で少々独学する機会がありました。その時に得た知識を活かして、上記のものを作ってみました。

それまではPHPに関してもウェブプログラミングというものについても全くの無知でした。にも関わらず、ある程度の学習を終えた後に自分が思いついたアイデアでサービスを1つ作れたのは、ひとえに良い入門書に出会えたのが大きかったなと思っています。

この記事では、ウェブサービスを作るまでに私が読み込んだ PHP 入門書を4冊ご紹介します。4冊も読んだの?多すぎじゃない?と思われるかもしれませんが、本格的な PHP の学習書は2冊だけ、残る2冊のうち1冊は超入門書、もう1冊はオマケです。それでも、4冊取り組んだのには理由がありますので、そこは後述します。

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

スポンサーリンク

挫折しないために

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

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

私は PHP の学習をするにあたり、最終的に『独習PHP』というテキストを読み終えるくらいのレベルの知識が欲しいと思いました。

しかし、『独習PHP』は、初級者から中級者になろうとする人向けの学習書で、いきなり挑んでもまず勝ち目はありません。そこで、『独習PHP』を読む前に、もっとずっと易しい2冊の入門書に取り組むことにしました。

PHPの段階的な学習

具体的には次の順序で学習を進めました。

まず、『ちゃんと使える力を身につける Webとプログラミングのきほんのきほん』で、ウェブサービスの基本的な仕組みとウェブプログラミングの基本事項を理解する。

次に、本格的な学習書の1冊目として、『10日でおぼえるPHP入門教室』を読み、サンプルプログラムを真似て自分でコーディングしてみる。

以上を終えてから、本格的な学習書の2冊目として『独習PHP』に取り組みました。すると、意外なほどすんなりと読み終えることができました。

はじめは、こんなぶ厚いし専門的な内容が書かれている本、自分には無理なんじゃないか?と思ったのですが、基礎ができていれば、別にどうということもなかったです。

さて、『独習PHP』を読んだ時点で、「PHP を理解したい」という当初の目的は達成したのですが、自分でもPHPでウェブサービスを作ってみたいという欲が出てきました。そのため、「実際に開発をする際に開発者がどんなことを考えながらどんな順序で作るのか」といったことを知りたいと考えるようになりました。

そこで追加で読んだのが『3日で作るPHPアプリケーション』です。

以上の順番で PHP の学習を進めれば、少し時間はかかりますが、挫折することなく学習が進められます。また、私が作った「Rポイントサーチ」くらいのものは、本当に簡単にできてしまいます。

以下、それぞれの本を簡単に紹介しますので、参考にしていただければと思います。

『ちゃんと使える力を身につける Webとプログラミングのきほんのきほん』

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

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

本書は PHP の入門書とは言えないのですが、ウェブプログラミングの例として使われている言語が PHP なので、PHP の「超入門書」として使えます。解説も全体的にかなりやさしい言葉で書かれていますので、オススメです。

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

Webプログラミング初心者向けの本。PHPの入門書としても最適
Webプログラミングは、私にとって長年の謎である。HTMLは分かる。CSSもだいたい分かる。でも、ブラウザからWebサーバー...

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

本書は、翔泳社の「10日でおぼえるシリーズ」の一冊です。

「10日でおぼえるシリーズ」はどれもそうなのですが、「自分で手を動かしてコーディングする」ということを非常に重視しています。どれくらい重視しているかというと、どの章でも、解説よりも先にサンプルコードが登場します。そして、それを自分の PC に打ち込んで動かしてみてくださいね、っていうところからスタートするんです。解説が出てくるのは、その後です。

慣れない人にはちょっと不思議な構成に見えるかもしれません。でも、実際にサンプルコードを真似て自分の環境で動かしてみるみることで、色々な学びがあります。少なくとも、プログラムをする際にはどんなことに気をつければよいのか、どんなロジックを組めば効率的なプログラムが可能になるか、ということを明確に意識できるようになります。それが、「実践」→「解説」という順序で学習を進めるメリットです。

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

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

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

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

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

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

『独習PHP』

いよいよ『独習PHP』です。プログラミング言語に関しては、この「独習シリーズ」を克服できれば、その言語の理解は一通りはできると言ってよいと私は思っています。

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

先の本でPHPの基本的な理解ができるようになっていますので、それを土台にして、演算子・組み込み関数・ユーザ定義関数・データベース連携などの専門的な解説を読んでいきます。さらに、前掲の本には無かったクラス・オブジェクトの詳細と、セキュリティ対策についての詳細も、本書ではそれぞれ1章が割り当てられています。

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

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

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

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

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

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

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

おわりに

以上、簡単ですが私が PHP を学習する際に使用した書籍をご紹介しました。

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

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

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク