はらぺこグリズリーの料理ブログ

超絶安い!超絶簡単!多分旨い!めんどくさがりな一人暮らしに最適なレシピを紹介

PHPのおすすめ本を初心者向けから難易度別にまとめた

f:id:kakashibennett:20160505140656p:plain

「もっと自分のサイトやブログを自分好みにカスタマイズしたいなあ」

と、ネットを使って何かしらやってる人なら誰もが一度は感じることではないでしょうか。

一見サイトやブログをいじるとなると、
「自分で何から何までカスタマイズしないといけない」
「でもプログラミングだとか全然分かんないし…」
という印象が持たれがちではないかと思います。

ただ、最初から何もWebサービスを作るレベルになるまでの知識が必要なわけでは全然ありません。

では、「ちょっとしたカスタマイズ」
が出来るようになる方法としては何がいいのでしょうか?

筆者としては
「PHP」の習得
が一番現実的かつ応用が効くかな、と思います。

PHPがわかるとWordPressの簡単なカスタマイズなど、出来ることが格段に広がります。
様々なことが自動化できて楽になります。

プログラムには様々な言語がありますが、ちょっとしたホームページやブログのカスタマイズならほぼ対応できるのが
PHPの凄いところです。

プログラム言語の中でも比較的習得が簡単と言われているPHPですが、
初めてPHPを本格的に学ぼうとした時には一度は挫折する程度には難しかったです。

もっともその後本を読んだり学習動画を観たりしてかろうじて習得できるまでに至りましたが、
言われているほど簡単ではないと筆者は思います。

現在、PHPの初心者向けの本は多数ありますが、
プログラミング関係の本のみならず参考書全般に言える
「参考書どれから手を付ければいいのか分からない問題」
により、本を選ぶのも難しいかと思います。

というわけで今回は、
PHPなんてまるでわけが分からなかった状態から片っ端からPHPの本を読み漁り、
それなりにPHPが出来るようになるまでに
「これは間違いない」という厳選したおすすめ本を紹介させて頂きたいと思います。

レベル:PHP?何だか知らんけどサイトとかブログいじってみたい!

スラスラわかるHTML&CSSのきほん

PHPおすすめ本紹介の記事ですが、
トップバッターにこの本が出てくるのにはきちんと理由があります。

はっきり言って
「Hello World?」「html?」なにそれ?状態でPHPを学ぼうとしたらまず挫折します。

本などでPHPを学ぼうとした時、
多くの場合で前提知識として「HTML」をある程度求められます。

まずはこの本でWebの基礎を固めましょう。
完全に初心者向けの内容ですが、
架空のお店のサイトを1からメモ帳で作成して、
サーバにアップロードするという中々本格的な本です。

濃い内容ですがただ説明が多いだけというわけではなく
「なぜ文字コードはUTF-8にするのか?」といった解説がとても丁寧です。

ぶっちゃけ下手なwebの学校通うぐらいならこの1冊で十分なくらい初心者に向いた入門書ではないでしょうか。

いきなりはじめるPHP~ワクワク・ドキドキの入門教室~

PHP関連の本はかなり読み漁ってきましたが、
「とにかく手っ取り早く慣れる」
のに一番特化した本です。

ある意味で正直これほどまでに入門者向けの本を筆者は見たことがないです。
プログラミング初心者の時によくあることとして
急に「関数」「演算子」「配列」「定数」とかの意味の分からないフレーズが出てきて

「は?急に何の話し始めたのこの人?」

となりそのままやる気を削がれることがあります。
まあ結局なんとかして理解、次へ、の繰り返しがプログラミングではあるのですが、

この本ではそこを完全に後回しにしてとにかくPHPそのものに慣れさせてくれるのが凄い所です。
内容自体がかなり易しいため、
なんだかんだ10時間くらいで読破できちゃうほどです。
初心者が挫折しそうなところを見事にカバーというか
体で覚えさせる超良書です。

よくわかるPHPの教科書 【PHP5.5対応版】

有名どころの本でかつ、なんだかんだPHP入門者にはおすすめの1冊です。
この本そのものへのレビュー欄では
「サンプルコードにミスが多い」
という意見が多いですが現在はほぼ修正されているのでそこに関する心配はほぼ不要でしょう。(正誤表)

さて、肝心の内容ですが、
「『変数』や『配列』がどう役立つのか?」
「PHPとMySQLの連携で何ができるのか?」

といった最重要な部分を確実に焦点を当て、
カラー図解で分かりやすく解説してくれているところが素晴らしいと思います。

余計な情報は一切なく、要所を絞ったシンプルな解説なのでしっかり頭に入ります。
サンプルプロジェクトは「Twitterっぽいひとこと掲示板」を作ることであり、
しっかりと読んでいけばまず完成まで漕ぎつけられることでしょう。

また、知識や技術を確実にフォローしている内容のため、
上記の「いきなりはじめるPHP」と非常に相性がいいです。
PHPに「いきなり」で慣れた後にこの「教科書」を読むと相当スムーズに理解が進みます。

気づけばプロ並みPHP~ショッピングカート作りにチャレンジ!

非常に実践的で体で覚えるタイプの「いきなりはじめるPHP」を2番目に紹介させて頂きましたが、
さらに実務に使えるようにレベルアップさせた感じにしたのがこの本です。

「Webサービスはどのようにしたら作れるのか?」
「PHPとMySQLの関係はどういうものか?」

などが一通り理解できる内容です。
おそらくこの本をしっかり理解できれば、PHPの初心者は修了したと言ってもいいと思います。


レベル:PHPはだいたい分かった!いいからWordPressのカスタマイズしてえ!

基礎からのWordPress

「WordPressのカスタマイズとか詳しくなりたい!」
「WordPressでテーマを作ってみたい!」
という方に一番向いた良書だと思います。

読みこなすのにある程度PHPを知っていることが前提となりますが、
上記の本を読んでいれば問題なくスラスラと読めるでしょう。

フルカラーで画像や絵が多くて視覚的に分かりやすいのも特徴であり、
一通り読めばWordPressについての理解がグッと深まります。

WordPressでブログをやるのであれば、
とりあえずこれ1冊読んでおけば困ることはないと思います。

レベル:セキュリティって何それ?美味しいの?

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

ある程度PHPの理解が進んだ段階で、絶対に読んでもらいたいおすすめの1冊です。

WEBサービスを開発する上でよく指摘される一般的な脆弱性を紹介し、
何がどう危険なのかを実際に攻撃方法を紹介しながら説明してくれています。

具体的にはSQLインジェクション、クロスサイトスクリプティング、CSRF対策、OSコマンドインジェクション、文字エンコーディングなど多岐にわたる内容を実際のコードを用いて解説しています。
セキュリティは本当に重要な分野なので、ぜひ読んでもらいたい1冊です。

読むとグッとレベルが上がる中級者向けPHP本

独習PHP

PHPプログラミング自体をちゃんと理解したいならこの本がめっちゃおすすめです。
ローカル開発環境の構築方法やPHPの基本的な文法事項に始まり、
PHP特有の組み込み関数や例外処理方法、MySQLとの連携、PDO、セキュリティなどPHPについて知っておくべき最低限の内容がこの1冊に全てに集約されています。
特にPHPのオブジェクト指向プログラミングについてかなり詳しく書かれており、その部分だけでも読む価値のある1冊となります。
筆者にとってはバイブルにしたいPHP本の中の1冊です。

パーフェクトPHP


これも独習PHPに続く筆者の中でおすすめするバイブルのPHP本です。
本当に素晴らしい本なので書きたいことはたくさんあるのですが、
その中でも強いて挙げるなら実際に1からフレームワークを作るという部分です。
ぶっちゃけWebサービスを開発していくと生PHPでコードを書くことはあまりありません。
CakePHPやZendFrameWorkなどフレームワークを使った開発が主になります。
フレームワークは便利は便利なんですが、内部で何をやっているのかがブラックボックスになりがちです。

この参考書では1から実際に生PHPでフレームワークを作ることでMVCフレームワークがなんたるかが体系的に理解することができます。

追記:MySQLのおすすめ本

PHPとは切っても切り離せないMySQLのおすすめ本も1冊だけご紹介させて頂きます!

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

ある程度PHPからデータベースへの接続やSQL文の基本的な部分が分かってくると、
今度はMySQLのチューニングなどが課題になるかと思います。
この本では適切なインデックスの貼り方やExplainをかけた結果のステータスの見方などについて詳しく解説してあるため、
実務レベルでおすすめの1冊になります。

まとめ:ちょっとしたことが出来るようになる。それがPHP

いかがでしたでしょうか!

筆者自身もまだまだPHPに関してはひよっこレベルではありますが、
上記の参考書がPHP初心者の方のプログラミング学習の参考になれば幸いです。

PHPがある程度でもできるようになると
「そういえば前からやりたかったアレ、PHPで出来るんじゃね?」→できた
「サイトのここに〇〇入れたいな…PHPでとりあえずそれっぽく書いてみよう」→できた

という状態になるのが最大のメリットだと筆者は思います。
まさにちょっとしたことが出来るようになる言語なんです。

「とりあえずwordpressでブログ作ってみたけどヘタにいじったらデータとか全部消えそうでいじりたいけどいじれない…」
という人がいたら筆者ならまずPHPをおすすめします。

webに関わる人なら間違いなくPHPが書けることはプラスになるでしょう。
もちろん、頑張ればPHPで本格的なWebサービスを作ることだって可能です。

ちょっとしたことの積み重ねが一味違うサイトやwebサービスへの一歩であることは間違いないと思います。
そのためにもPHPを習得することは決して無駄にはなりません。