Help us understand the problem. What is going on with this article?

独習PHP第3版を読んでみた

More than 3 years have passed since last update.

独習PHPとは

独習PHP第3版は、つい先日の2016/4/9に発売された本です。
http://www.amazon.co.jp/dp/479813547X

2010年に発売された、PHP5.3対応の第2版発売から6年経過し、
今回はPHP7に対応しています

作者の山田 祥寛さんの本としては、JavaScriptやJavaなども
読んだことがありますが、どの本も説明が丁寧でとても分かりやすいと思います。

独習シリーズはいろいろな言語で出版されており、
何かしら読んだことがある人も多いと思いますが、
中級レベルの内容になっており、十分実務で使用出来る本になっています。

対象者のレベル

目次はこのようになっています。

第1章 イントロダクション
第2章 PHPの基本
第3章 演算子
第4章 制御構文
第5章 組み込み関数
第6章 ユーザ定義関数
第7章 標準クラスライブラリ
第8章 リクエスト情報
第9章 データベース連携
第10章 オブジェクト指向構文
第11章 セキュリティ対策

リクエスト情報、データベース連携、セキュリティ対策あたりは、
他のPHP本ではあまり詳しく触れていないものも多いですが、
本書はとても詳しく書いていて、webプログラミングの基礎を学ぶのに最適と言えます。
Chromeのデベロッパーツールについても触れています。

数年web以外のプログラミングを経験し、webに転向してきたエンジニアには、
特に向いていると思います。

逆に全くのプログラミング未経験だと、オブジェクト指向、高階関数の部分など、
難しい部分が多少あるとは思います。
また、業務で十分にPHPを使っている場合にも、得るものは少ないと思います。

良かった点

webの基礎を学べる

上で書きました、webの基礎と言語を同時に学べる本は貴重だと思います。

新機能の説明が分かりやすい

第2版のPHP5.3以降の演算子、トレイト、ジェネレータ、finally、可変長引数、無名クラス、戻り値の型宣言など、主要な新機能については網羅されています。
とても分かりやすいと思います。

目次にも、どのバージョンからの新機能か書かれているため、
新機能だけを読みたいという場合にも見つけやすいです。

PDOの説明が丁寧

DB接続を扱うPDOというモジュールのメソッドについて、とても詳しく触れています。
オプションについてもしっかり説明していて、知らないものもいくつかありました。

こういう内容があればなおよかった

Linuxの環境構築方法

Linuxの環境構築方法が、FedoraのXAMMPをGUIで入れる方法になっていて、
実務で使うような、ソースをwgetしてきてconfigureしてmakeして・・・という入れ方は書かれていません。
第2版まではありましたので、少し残念に思いました。

なお、こちらにLinuxのインストール方法を作りました。
MariaDBのインストール方法
PHPのインストール方法

総まとめとして、アプリケーションを作る章

本書の内容の総まとめとして、何かしらアプリケーションを作るような章があると
なおいいと思いました。
各章に練習問題はありますが、どれも小規模なため、
手を動かして身につけるという感覚はつかみにくいと思います。

特にオブジェクト指向については抽象クラス、インターフェース、トレイトなどの
違いを丁寧に説明をしているので、実例があった方が理解しやすいと思います。

PhpStormなどのIDEを使った開発方法

vimやemacsなどのエディタを使った開発は少なくなりましたし、
よっぽどエディタを使いこなしていないと非効率ですので、
PhpStromなどのIDEを使った開発方法の説明があるといいと思いました。

PHPUnitを使ったテスト方法

テストコードの作成はいまや一般的になってきていますので、
PHPUnitの実行方法、テストケースの例などがあればいいと思いました。

d-dai
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away