素人がWEBサービス開発できるようになるまで読んだPHP本を公開するよ

文系の大学出身で就職先も流通小売業で販売員やっていた自分が、なんとかonakin.comやHelloQLを開発出来るまでに読んだ本をさくっとご紹介していこうと思います。

ご紹介する順番通りに読み進めていけば、一応上記のようなサイトを開発するだけの力(サーバーサイド言語限定)はつくと思いますのでご参考にして下さい。ちなみにAmazonへのリンクは当時自分が本当に読んだ本で、別の新版が出ているケースがほとんどだと思うので、もしもAmazonで取り扱い停止になっていたら新版の方を買うと良いと思います

初心者向け

よくわかるPHPの教科書
たにぐち まこと
毎日コミュニケーションズ
売り上げランキング: 209,476

PHP初心者本はどれも似たり寄ったりで、基本的にどれを選んでも変わらないと思いますが自分はたまたまこちらを選択。実践的なサンプルプログラムを作りながら制御構文や関数を学ぶできるので読者を飽きさせない仕組みになっています。必要最低限のSQLの知識を得られるのもポイント高いです。

ただAmazonの評価にもあるとおり、HTMLを全く知らないと初回からつまづく可能性が大なので、わからない方はまずはHTMLの勉強から始めたほうが良いでしょう。

ちなみに自分が読んで良かったHTMLの本はこちら。

よくわかるHTML5+CSS3の教科書
大藤 幹
マイナビ
売り上げランキング: 109,800

自分の場合HTML4.01の知識は元々あったので5にアップデートするために読みました。アニメーションなどの5独自のお話も良いんですけど、HTMLの基礎的な解説もしっかりとしています。

オブジェクト指向知らない人向け

明解Java 入門編
明解Java 入門編
posted with amazlet at 17.01.31
柴田 望洋
SBクリエイティブ
売り上げランキング: 100,577

はい、いきなりJavaの本です。「え?なんでJavaの本なんて読まないといけないんだよ、俺は早くPHPを勉強してWEBサービス作って一発当てたいんだよ!」ていうツッコミが来るかと思いますが、まぁ落ち着いて下さい。

大規模なWEBアプリケーションのを作るとなると、フレームワークっていう雛形みたいなアプリを使うケースがほとんどです。この雛形を元にして開発すれば、時間を大幅に節約しつつアプリを開発できます。車で言うと、プラットフォームを共通化して別車種をコストを削減しながら開発するのに近いです。

このフレームワークを使うときに理解していると便利なのがオブジェクト指向っていう概念なのです。別にこれを知らなくても、各フレームワークのマニュアルどおりに開発すれば一応WEBアプリケーションは作れたりします。でも個人的にはそこで終わって欲しくないんです。

やはり内部の仕組みを理解して作るのとそうでないのとでは、作る楽しみも違ってきます。腕を磨いたら最終的に自分がそのフレームワークの開発に携わるなんて言うのも夢のある話です。

それにマニュアルが完備されていないフレームワークを使う場合は、どうしても自分でコードを読み解いていく必要があります。そうした時にオブジェクト指向の知識が無いとやはり困る…という事態になりますので、やはり勉強しておいたほうが良いということになります。

で、肝心のオブジェクト指向を解説した本がPHPではなかなか良いのが見当たらないんですよね。いくつか本を手にとってみたところ、下に挙げているゼッタイにわかる本が自分が一番分かりやすかったので、その本を読み進めるための前提知識としてのJavaを学ぶ本として明快Javaをご紹介させていただきました。

Javaのオブジェクト指向がゼッタイにわかる本
立山 秀利
秀和システム
売り上げランキング: 132,254

これ超絶オススメの本であります。PHP初心者向けの本は、どうしても構造化プログラミングという、コードを先頭から後ろに順次実行していくという方法を取ることが多いのですが、クラスや継承を図解を通じてわかり易く解説しているので、オブジェクト指向プログラミングに頭を切り替えるのに持って来いの本だと思います。

脱初心者向け

独習PHP 第2版
独習PHP 第2版
posted with amazlet at 17.01.31
山田 祥寛
翔泳社
売り上げランキング: 274,549

冒頭で紹介した「よくわかる〜」の本とは異なり、サンプルプログラム作成を通して学ぶのではなく、構文やオブジェクト指向をガッツリと解説している本です。内容もお硬いですが、上記2つのJava本を読めるまでになっていれば多分余裕で読みこなせます。

余談ですが作者の山田祥寛氏はこの他にも定評のある本を沢山出されており、自分もかなりお世話になりました。JavaScript本格入門っていうJavaScript本とか特に良かったので、PHPの学習終わったら次のステップに向けて読むと良いと思います。

中級者向け

パーフェクトPHP (PERFECT SERIES 3)
小川 雄大 柄沢 聡太郎 橋口 誠
技術評論社
売り上げランキング: 25,160

名前の通りまさにパーフェクトな一冊。他の言語を体得しているとかそういう事情が無い限り、初心者は絶対に手をつけないほうが良いと思います。それくらいの難易度です。

難しくもありますが、極めて良書であります。特に良かったのが、フレームワークを独自に開発し、それを元に実践的なアプリケーションを開発するというもの。これによりフレームワークがどういう仕組みで動いているのかを知ることが出来るので、今後フレームワークを使った開発をする場合でも役に立つと思います。

あと特筆すべきなのがPHPのセキュリティにかなりのページを割いている点です。XSSやSQLインジェクションなどメジャーなものはもちろん、マイナーなものも対策も併せてしっかりと解説しているので、やはりこちらの本も必読ということになります。

少し厳しいことを言うのですが、この本を読む力が無いと多分本番の開発でも思うようなものが出来ないと思います。Amazonの評価でも「難しい」という言葉が散見されますが、応用的な内容も含めてすべて開発に必要な知識が詰まっており、是非とも2度3度と読み返して欲しいです。

脱中級者向け

Modern PHP: New Features and Good Practices
Josh Lockhart
Oreilly & Associates Inc
売り上げランキング: 13,151

詳しい紹介は(当サイト)【書評】Modern PHPに書きましたのでそちらを読んで欲しいのですが、プログラミングの本場はやはりアメリカ。という事でいずれは洋書にも挑戦して欲しいのですが、本書は平易な英語を使っていますので、洋書初挑戦の方にもオススメの一冊であります。

まとめ

以上で自分が実際に読んで良かったPHP本のご紹介を終わります。ネット上ではよく無料でプログラミングを学習出来るサイトやツール、動画が出まわっています。確かにそれらはお手軽で取っ掛かりとしては良いとは思うのですが、自分で苦労して動くための環境構築もして、本を読みながらコードを写経する段階で「なかなか思うように動かないな… あ!ここ入力間違えている!」とトライアンドエラーを重ねて学ぶことが一番上達への近道だと自分は思っています。

この記事の通りに本を買って読み進めるとお金も多分1万以上かかるし、完全に読み終わるまでに1年かかかるかもしれません。でも実際にそうやって学習したおかげで今の自分があり、結局ソースは俺みたいになってしまうんですけど、「どうすれば素人が自分の思い通りのWEBアプリケーションを開発できるようになるか」という疑問に確実に裏付けを持って答えてくれたのが上の本たちなんです。

なのでこれからWEBサービスを開発したいと考えている方は、学習するにあたって周りに色々な情報が溢れているかと思うのですが、騙されたと思ってご紹介した本たちを手に取ってみて下さい。今はまだ何もわからない状況かもしれませんが、きっとこれらの本が開発への頂を登るための道標になると思います。