PHPの初心者〜中級者におすすめの本<WEBプログラミング>

<WEBプログラミング>PHPプログラミング初心者〜中級者におすすめの本の紹介

現在、プログラミングの講師をしています。

生徒や知り合いに

「HTML/CSSはできるけど、PHPを触ったことがなくて、初心者から学べる本は何かあるか?」
「PHPを独学で勉強したんだけど、基本から体系的に学べるPHPの本があれば教えてほしい。」
「PHPの基本はある程度分かるので、もう1歩踏み込んだ中級者向けのことが学べるPHPの本はあるか?」
PHPの副読本として何か1冊いい本があれば教えてほしい。」
「何か1つ、PHPを使ったWEBサイトの作り方が載っている本はあるか?」

といったことを聞かれるので、本屋でPHPの本を探していいなと思った本を

「この本はどういったレベルの人に向いているか」
「こういうことを学びたい人にはこの本が向いている」
「この本ではどういったことが学べるのか」

と、目的別・レベル別に応じて紹介します。

なお、当記事内で紹介する本に関しては「未経験者」と「初心者」を以下のような形で区別して紹介しています。

未経験者
プログラミングを一切見たことも聞いたことも触ったことも無い人。
初心者
プログラミングを少しだけ見たこと・聞いたこと・触ったことがある人。
体系的な知識・スキルは無いが、かじった程度の経験はある人など。

改訂新版 ゼロからわかるPHP超入門

未経験者〜初心者向け

改訂新版 ゼロからわかるPHP超入門

プログラミングのことはきちんと分かっていないけど、まずはPHPを使ったプログラミングを書いてみたい方におすすめの本です。

以下、Amazonのレビューにもあるとおり、PHP初心者の方にとても評判が良い本です。本の内容に従って書いていけば、(良くも悪くも)細かな内容は気にせず(細かな内容が分からなくても)、PHPを使った機能を作ることができます。

全体的な紙面レイアウトはすっきりしていて読みやすい方と思う。少し悪く言えば
教科書っぽい。が、読みやすかったので2時間程度で読み、CD付属のサンプルも無事
に動いてくれました。私はサンプルのコーディング含めて約3時間で学習が完了。
生まれて一度もやったことがない人は、自分のペースでゆっくり1日1時間程度で1〜2週間
で良いかなと思います。
引用-Amazon

ただ、本の内容を見たところ、「7章 画面からデータを入力してみよう」の部分だけが、他の章に比べて一気に難易度が高くなっているため、この章でつまづく可能性があります。その場合、本の構成的には7章は一旦飛ばしても問題無さそうでしたので、

1〜6章 => 8〜11章 => 7章 => 12章

のような流れで進めてみると良いかもしれません。

なお、7章の画面からのデータ入力(フォーム制御)はphpを使う醍醐味の1つでもあるので、この章自体は非常に重要です。理解できるまで何度も読んで、プログラムを書いてみましょう。

ただし、上記述べたとおり、細かな内容は省略されているため、本に書いてないことを自分で作ろうとすると作ることができません。

そのため、この本はPHPを学ぶというよりは、
PHPにとりあえず触れてみる(慣れる)
PHPがどういったものか感触を掴む(PHPを使うとどういった機能が作れるのか)
ことを目的とした方に向いている本だと思います。

なお、PHPは主にWEBページでデータ制御系の処理(会員登録やログイン、ショッピングサイトでのカート機能や決済機能など)を行う際に使うのですが(とういうかここがPHPを使う醍醐味の1つ)、これらの機能を使うためには「データベース」というものをPHPから操作する必要があります。

この本にも上記のことには触れてはいますが、簡単にしか触れていないため、この本である程度感触を掴んで頂いたら、以下で紹介する初心者〜中級者向けのPHPの本を別途買って勉強することをお勧めします。

※このPHPの本は全部で12章構成となっているのですが、データベースに関しては最後の12章のみで簡単に触りのみ説明されています。

PHP+MySQLマスターブック

PHP+MySQLマスターブック

PHP初心者
(〜中級者)向けの本

Amazonのレビューでも以下のように書かれているとおり、PHPをかじったことはある(簡単な修正は見よう見まねでできる)けど、きちんと分かっていないので基本から勉強したいという方におすすめの本です。

既にHTMLの必要最低限の知識を有し、静的なホームページなら自分で作成でき、独自ドメインによる外部公開ができるレベルある人が、プログラミングのみ未経験で、動的ページを作ることを望む人にとって最適な入門書。これまで幾度もWebプログラミングに挫折してきましたが、この本のおかげで壁を打ち破るこができました。
引用-Amazon

超入門とまではいきませんが初心者でも十分に分かる内容だといえます。僕はプログラミングをかじった程度なのですが非常に分かりやすい内容になっていると思いました。ここまで丁寧に解説されているphpひいてはプログラミングの本は他にはないのでしょうか?どんな簡単な説明であってもとにかくわかりやすさを極限まで求めようという著者の思いが伝わってきます。変数や配列の説明も図解付きで文句なしのわかりやすさです。僕と同じように少しプログラミングをやったことがあってphpを学びたいと思う人には最適です。
引用-Amazon

このPHPの本は大きく以下4つの構成になっています。

1.PHP用の開発環境の構築(プログラミングをするためのPCの設定)
PHPプログラミングを行う場合に必要となる、PCへの基本的な設定(ソフトのインストール)が「Windows」「Mac」「Linux」ごとに書かれています。
他の本ではWindowsのみとかMacのみの場合しか書いていないケースが多いので、どのPCを持っている人もできるのがとてもいいですね。
2.PHPの基礎
PHPの基礎に関しても簡単すぎず(省略しすぎず)、難しすぎず、ちょうど良いレベル感で書かれています。また、フォーム(テキストやラジオボタン、チェックボックス、プルダウン)を扱う際にはPHPが必要になるのですが、このフォーム制御の方法も細かく書かれている点がいいですね。
3.データベースの操作及びPHPからの制御
先ほど上記で書いた通り、会員登録(ログイン)などの機能を作るためにはデータベース及びPHPが必要になります。この本ではこちらの操作方法も程よい良で書かれているので初心者には分かりやすいと思います。
4.PHPで会員登録機能を作る演習
そして、まさに会員登録機能を例題として、サンプルコード付きで会員登録機能の作り方が書かれています。こういった演習はPHPの理解を深めるのにとてもいいですね。

パーフェクトPHP

初心者以上、中級者未満向け

パーフェクトPHP (PERFECT SERIES 3)こちらの本は
PHP初心者を抜け出して中級者にレベルアップしたい方
・今現在、ある程度はPHPを書けるけど独学で勉強したので、改めてPHPを基本から体系的に勉強し直したいという方
まで、PHPの初心者以上、中級者未満まで幅広くの方におすすめの本です。

本の前半ではPHPの基本的なプログラムの書き方(構文)が載っています。
そして、PHPプログラミングの基礎・基本に関する行間部分の説明(なぜこうなるのか、なぜそうすべきなのかなど)が載っているため、既に仕事でPHPを使っているPHP経験者の方にも、こちらの本を副読本として1冊持っておくのは有りです。

本の後半では「ブログサイト」を例題としたPHPを用いたWEBサイトの作り方が載っています。
ブログサイトの作り方に関しても、詳細な解説(PHPプログラミングの手順とその理由)とサンプルプログラムが載っているので、サンプルプログラムに沿って作っていけばブログサイトを作ることもできますし、ブログ以外の一般的なWEBサイトがどう作られているのかも理解できると思います。

本によっては基本的なPHPプログラミングの書き方だけが載っているものもあり、本を読み終わった後に「で、結局、実際にWEBサイトを作るときにはどうしたらいいの?」となる本もありますが、この本では「前半で基本」「後半で実例」の2段階構成になっており、1つ1つの内容も詳細に解説されているので、この1冊があればPHP初心者〜中級者には十分と言える本です。

ただ、反面、こちらの本はかなりボリュームがあるため、しっかりと勉強したい方には向いていますが、PHPがどんなものか概要・要点だけを知りたい方・PHPプログラミグをちょっとだけできるようになりたい方には向いていないと思います。(おそらく途中で挫折します。)

そのため、プログラミング自体未経験という方には、この本はちょっとおすすめしません。
というのも、この本はボリュームが多く、細かな説明が初めの内は逆に仇となって理解に混乱を招く可能性もあります。

1点気をつける点としては、本の内容(構成)としてはとても良い本ですが、2010年出版の本であるため、2016年現時点からすると内容が少し古いです。PHP自体の基本的な考えは変わらないので体型的に学ぶという点では問題ありませんが、実務ではPHPの環境(バージョン)によって若干支障が出る可能性があるので、その点を考慮しながら本を見て頂ければと思います。
(改訂版が出てくれることに期待ですね。)



実務でPHPを使った仕事をしたい方は、上記で紹介した3冊をしっかりと抑えて頂ければ基本的なPHPのコーディングはできるようになると思います。(実務で使える最低限のスキルを身につけることは可能)。

改訂新版 ゼロからわかるPHP超入門PHP+MySQLマスターブックパーフェクトPHP (PERFECT SERIES 3)

ただ、ある程度の規模のWEBサービスを作る場合、実務(現場)では「フレームワーク」というものを使っていることが多いので、上記とは別に「フレームワーク」を勉強する必要があります。

(正確には、上記のPHPの本に書かれている内容を抑えた上で、フレームワークを勉強してもらう必要があります。逆に言うと、フレームワークを勉強するためには、PHPの基礎があることが前提になります。)

※ここでは、フレームワーク自体の説明は割愛します。

なお、一概にPHPのフレームワークといっても、フレームワークには色々な種類があります。

もし特に会社などからフレームワークの指定が無いのであれば、初めての人は「CakePHP」というフレームワークを勉強してみると良いかもしれません。
というのも、CakePHPは日本では良く使われているフレームワークの1つであるため、書籍やネット情報などが豊富なため、初めての人にとっても勉強しやすい土台があります。

CakePHP2 実践入門

Webアプリ開発を加速する CakePHP2定番レシピ119


上記で紹介したPHPの本以外にも、いくつか目を通した本があるので以下に紹介します。

PHPの絵本 -WEBアプリ作りが楽しくなる9つの扉-

初心者向け ※ただし、初心者プログラマーというよりは初心者ディレクター向け

PHPの絵本絵本というタイトルが付いている通り、絵本風のイラスト付きでPHPが解説されている初心者向けの本です。

ただし、内容に関しては、かなり浅く&広く書かれているので、PHPを0から勉強してPHPを用いたWEBサイトを作れるようになりたいという方(プログラマー志望者など)には不向きです。

どちらかと言えば、
・PHP書くと実際にどんなことができる?
・とりあえずPHPで動くもの(フォーム)を作ってみたい
・PHPで動く各パーツの作り方の参考(逆引き的な使い方)
など、WEBサイトのPHPで制御されている部分がどういったものか・どうやってできているのかなど、概要をざっくり知りたい・抑えたいという方(特にディレクター志望者など)におすすめの本です。

このPHPの絵本では、PHPプログラミングの基本(※)の詳細が載っていないため、この本に載っていない動きを作りたい場合、「どうしたらよいか分からない」となるかと思います。

※上記で言う「PHPプログラミングの基本」というのは以下のようなことを指しています。
変数や条件文(if)、繰り返し文(for/while)、関数(function)など

また、実際にPHPプログラミングをする場合、開発環境というのを作る(もしくは借りる)必要があります。
これを準備しないとPHPというプログラムを実際に書いて動かすことができません。
この開発環境を作る方法については、付録で触れられてはいますが、初めての方には難易度が高く、この開発環境の作成がうまくできずに何もできないまま終わるという可能性があります。こういった理由もあり、この本は、PHPのプログラミングをできるようになりたい人にはあまり向いていないかと思います。

いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング

初心者向け ※ただし、初心者プログラマーというよりは初心者ディレクター向け

こちらも上記の「PHPの絵本」と同様、PHPの基本的な書き方は載っていないため、プログラマーを目指している方よりはディレクターの方におすすめのPHPの本です。

ただし、「PHPの絵本」よりはもう少し幅広く、かつ内容も深いため、もう1歩踏み込んだ形でPHPの概要を知りたい方には向いています。
また、上記「PHPの絵本」でPHPプログラミングをして動かす場合には環境が必要と書きましたが、この本では本の前半に「レンタルサーバー」を借りて開発環境を準備する方法の手順が書いています。(レンタルサーバーを借りるにはお金がかかりますが)すぐにPHPプログラミングを始めることができるため、初めての方にはおすすめです。

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

初心者〜中級者向け ※ただし、初心者プログラマーというよりは初心者ディレクター向け

こちらも上記の本と同様、PHPの基本的な書き方は載っていないため、プログラマーを目指している方よりはディレクターの方におすすめのPHPの本です。

~短期集中講座~ 土日でわかる PHPプログラミング教室 環境づくりからWebアプリが動くまでの2日間コース

中級者向け

こちらはPHPの開発環境構築が知りたい方に向いている本です。

PHP自体の基本的なプログラミングの書き方はあまり載っておらず、実例的なサンプルや解説も載っていません。
ただし、本のタイトルにあるように、本の前半ではPHPを使った開発をするための開発環境の作り方がしっかりと書かれています。そのため、環境づくりから始めたい人には参考になる本かと思います。

なお、PHPの開発環境といっても様々ですが、この本ではPHPの開発環境構築に関して以下のことが書かれています。

・VirtualBox:WindowsやMacといったOSに依存せずに同じ環境を作るための仮想OSソフト
・Vagrant:仮想OS上に(PHPを含む)開発環境の構築と共有を簡単に行うためのツール
・Git:自分が作ったプログラムの履歴を残したり、チーム開発で共有するためのリポジトリソフト

いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック

中級者向け

こちらは様々なアルゴリズムを解く(作る)ためのPHPのコーディング方法を学びたい方向けの本です。

アルゴリズムというのは、何かしらの問題を解く際の方法や手順のことで、この本では以下のアルゴリズムをPHPで解く(作る)ためのコーディング方法が掲載されています。

2章 PHPでよく使うデータ構造
・PHPの配列について
・データ構造の表現
・データの並べ替え
・擬似乱数とシャッフルについて
・データの保存と読み込み

3章 便利なアルゴリズム
・迷路の自動生成
・暗号化について
・公開鍵暗号とハッシュ関数
・逆ポーランド電卓の作成
・中置記法の計算機の作成
・時間をめぐるアルゴリズム
・Webサイトのスクレイピング
・ナップサック問題について

4章 日本語とテキスト解析
・正規表現を覚えよう
・日本語の文章を扱うための知識
・形態素解析について
・頻出語句の抽出と辞書のカスタマイズ
・検索と置換と抽出と削除
・レーベンシュタイン距離と文章の類似度の検出
・マルコフ連鎖で文章の要約

5章 画像とアルゴリズム
・画像処理について
・CAPTCHAの実装
・類似画像の検索について
・画像の顔認識
・EXIFと位置情報の利用について

6章 機械学習
・ベイジアンフィルタについて
・サポートベクターマシン(SVM)について
・ニューラルネットワークについて
・味噌ラーメンと塩ラーメンを分類する

7章 レポート出力とデータの可視化
・PDFによるレポート作成
・Excelファイルの入出力
・グラフの描画
・アルゴリズムを可視化してみよう
引用-ソシム

実務ですぐに使うようなものはないかもしれませんが、上記を学んでみることで、PHPに留まらずプログラミング自体のスキルの幅が広がります。

【夏休みの自由研究に!】親子プログラミング体験教室〜夏の特別企画〜

初心者のためのプログラミング勉強方法講座

JavaScript初心者におすすめの本

プロフィール(当メディアの運営者 兼 筆者)

保育園協会の園長から「ITで保育業界を変えたい」と相談を受け、保育士と協力し合い、保育以外の業務を自動化し、保育士が保育に専念できる環境を創り上げる。

そして、保育の現場で子ども達の個性=無限の可能性を育む環境に関る中で、大人社会でも同様のことはできないかと考え始めたところ、「こどもも大人も凸凹(違い)を認め合える社会」の実現を目指すNPO法人オトナノセナカに出会い参画する。

現在はNPO活動と並行して、フリーランスエンジニアとして自分が得意とする「IT」x「教育」x「子育て」の分野を中心に活動を開始する。様々な人がお互いを認めて高め合い、創造性が渦巻く楽しい世界を目指して。

プログラミングレッスン・教室、IT研修・教育、ITコンサル・マーケティング、IT(技術)相談・支援、システム開発(WEB・スマホ)、保育園IT化、子ども・子育て関連事業など