独習PHP -第4版
執筆している関係上から、この本を献本していだきました。
最後にも書きましたが、こういう、リファレンス本でもなく、サンプルコードにそって進めていくような実践本(手順本)でもない本の読み方がわからないという人が私の周りにいましたので、私なりにこう読めばいいのではないかという内容を書いてみました。
実は、筆者自身は、かなりむかーし(20年くらい前)には、PHPの本を買って、読んで事はあるのですが、今では、PHPのリファレンスサイトしかみない状態でした。
なので、言語仕様が追加された!となっても、じゃ、早速それを取りいれよう!とは思っていません。
しかし、PHP8になって、やっと、アノテーションが採用されるという事になり、ちょっと、リファレンスではなくて、もっと簡単に内容を把握したいなとおもい、こちらをいただいたので読んでみました。
実は、PHPを使う際にアノテーションがないのがちょっと困るなと思っていたので、弊社では、Phalconというフレームワークを主に使っています。
Phalconには、独自拡張としてアノテーション機能があります。こちらでアノテーション機能を使っていたので、それとも同違うのかなどが知りたく、参考になりました。PHP標準のアノテーションについて結論を言えば、Phalconを使っている以上必要ないけど、もっと汎用的なライブラリを作る時には、PHPのアノテーションを使うのもいいかなと感じました。
とはいうものの、厚ければ厚いほど、それだけ読む人に取っては、大変な事も事実です。 また、すべて、最初から読んで、最後まで読んでいけるという人も少ないと思いますし、その必要性もあまりないとは思います。 なので、誰が、どういった目的で読むかによって、読み方を変えたほうがいいように感じました。
例えば、プログラム言語自体が初心者で、他の言語もしらないという人は、 1章「イントロダクション」〜4章「制御構文」までを順に読んでいったほうがいいでしょう。
一方、他の言語をしっているという方であれば、ここまでは読み飛ばしてしまってもいいかと思っています。他の人のコードを見ていて、なんだこの表現は?という部分が出てきたら、そのときに調べる為と割り切っていいかと思います。 そして、5章「組込み関数」をさらっと読んで、次に進むといいと思います。
個人的に、他の言語もほぼほぼ知っているし、読むだけで、なんとなくPHPを勉強しなくても分かるけど・・・・という人は、 6章「ユーザ定義関数」、7章「標準クラスライブラリ」、8章「リクエスト情報」が最も重点的に読むところだと思います。
以前、あるJavaからPHPに転向してきたエンジニアが作ったコードで、Webゆえに共通点もたくさんあるのでなんとなくわかって開発を進められるのですが、「えー」というバグを作るという事がありました。 原因は、同じ目的だから、同じように動くだろうと思ってしまったことが原因なのです。この本の8章あたりの内容まで理解していれば、例え言語がちがっても問題なかったはずなのですが、そこまで理解していなかったので、言語まで吸収できずにバグを作ってしまったという事でした。 通常の開発レベルでは問題にならないようなバグで、その人は、JavaエンジニアとしてPHPなんて楽な言語だとおもって軽視していたら、基礎力のなさが露呈してしまったという事になりました。
そう言う意味では、8章「リクエスト情報」についてここまで説明しているのはあまりないのではないかと思います。 そこから先は、興味があったり、もしくは、疑問が生じたときに読めばいいかなと思っています。
というのが私がこの本のおすすめな読み方かなと思っています。 また、身近に手取り足取り教えてくれる、先輩エンジニアがいない、または、オンラインで先輩エンジニアに聞きにくい。なんて場合にもいいかも知れません。 プログラムの質問で、コードをコピペだけしてきて質問する人が多いですが、答える方は、そのコードが動くようにする回答で終わってしまいます。 それだと、質問した人も、その回答コードをコピペだけして終わってしまいます。 でも、この本を利用して、双方がこの本を持っていれば、pXXの「XXXXX」は、どうしてこういう書き方なのですか?などであれば、もう少し、その背景や制限など話がしやすくなると思います。
リファレンス本でもなく、サンプル本でもないので、読み方が難しいという方はこういう読み方・使い方もあるよという紹介です。