PHPポケットリファレンス」BOOK REVIEW
書評者:清水 宏行 様

 本書は、PHPの言語仕様と関数のリファレンス本です。関数ごとに簡潔なコーディング例と実行結果が示されていて分かり易い内容になっています。また、鞄の隅に入れて持ち歩けるコンパクトなサイズも便利です。

1. 例示の豊富さ
 本書の特徴の1つは、主要な言語構文や関数ごとにコーディング例とその実行結果が示されていることです。初めて使う関数では、コーディング例があると使い方を間違えることが少なくなり、開発効率にも良い影響を与えると思います。また、成功例だけでなく、エラーやワーニングが発生する例もいくつかあり、簡潔で理解しやすい例になっています。
 例示されたコーディング例から仕様が分かればリファレンス本としては十分と思いますが、さらに欲を言えば、例からノウハウが得られることを期待している人もいるでしょう。たとえば、「register_globals=Onの場合、セキュリティホールがあるアプリケーションを作りやすいため、register_globals=Offに設定することが推奨されています」とせっかく注意書きしているのですから、セキュリティホールを生む例を示していただくと初学者にとってはノウハウが得られ、より有益なリファレンス本になるように思います。

2.実現したいことで調べ、「関連」で絞り込む
 目次には関数名はなく、「〜したい」という表題が並び、実現したいことで探せるようになっています。実現したいことを1つを選んで、そのページを開くと、関数が1つ紹介されていますから、目的に合った表題があれば、関数名を知らなくても関数を探せる点は、初学者には有難い目次です。
 一方で、目的は様々ですから、必ずしもぴったりの表題があるとは限りませんし、同様の機能を果たす関数があれば比較して選択したいものです。そういう時には、表題に関連があると思われるページが「関連」の欄に示されていますので、「関連」をたどって芋づる式に関数を拾い上げてから使用する関数を絞り込むということもできそうです。
 多少残念なことは、目次に書かれた表題が2行に渡るものがあり、目次を目で追って探すというより、目次を読んで探すという状態になります。検索性という点では、目次のレイアウトや文章をもう一工夫して探しやすくしていただくと良いように思います。
 また、用語のインデックス、たとえば、「エンコーディング」として指定できる値を調べるためのインデックスがあれば、さらに使い易いリファレンス本になると思います。

3.網羅性は第二版に期待
 リファレンス本を使って目的とした関数が見つからない時にはマニュアルを参照することになります。そのため、リファレンス本には、例示による分かりやすさや検索性に加えて、マニュアルにある関数の多くが解説されていることを期待している人もいるでしょう。本書では紹介されている関数の種類や数は際立って多いというわけではありません。多ければ良いというものでもありませんが、たとえば、PDF、Namazu、XML/XSLT等の関数は含まれていても良いと思われます。第二版に期待したいところです。

4. 持ち歩けるコンパクトなサイズ
 本書は、例示の豊富さに加えて、携帯性が特徴ではないかと思います。B6版程度の大きさで厚さ3cm弱です。鞄に入れて持ち歩けるので便利です。

5.より良いリファレンス本を期待して
 オープンソースソフトウェアは変化が激しいので、精査した内容をタイムリーに書くのは難しいケースもあるかと思いますが、PHPの言語仕様に関するもので特異と感じるものや関数の用途が分かりにくいものは、説明を加えていただけると有難い。たとえば、結合規則が左から右の代入演算子や右から左の->などは理解しにくく、実行例をつけてもらえると初学者としては間違いが少なくなり、理解も深まります。
 もう一つ気になったのは、関数の書式です。本書では、関数の仮引数を名前ではなく◆などの記号で表示しています。実引数に変数を指定する場合、変数名はマニュアルに書かれている仮引数名を参考にしている人も多いのではないかと思います。記号が良いのか名前が良いのかは再度検討していただくと良いかと思います。
 リファレンス本は、マニュアルと対比されることも多く、原典であるマニュアルから学ぶべきという意見もあるかと思います。一方で、変化の激しい開発環境で、しかも複数の言語を扱える能力がなければ開発案件を得にくいという現実もあり、限られた時間で成果を出すためには、本書のようなリファレンス本を活用し、余裕ができた時間をアルゴリズムの検討などに回すというのは良いことかと思います。開発効率を上げるために、さらにより良いリファレンス本になることを期待しています。




書評者:大平 真 様

書評者: おおひらしん
報告日: 2003/04/09

{書評のポイント}
どのようなタイプのユーザが利用するのに適した書籍か?
購入して損の無い本か?

{読んでみた感想}
著者は、512ページという限られた資源をうまく割り振っていると思います。
説明すべき点については限られたサイズの中で要点にしぼって説明し、削ってもいいと判断した部分については、思い切ってカットしているようです。
しかも、どこを残して、どこを削ると読者に役に立つ書籍になるかよく考えて行っていると思います。
プログラム作成時に手元において関数の使用例など手軽に確認するには最適でしょう。
ページ数のほとんどを関数の使い方に関する記述に割り当てていますが、文法関係について必要最低限の記述がありますので、C言語など他のプログラミング言語の経験者が、PHP でのプログラム作成を速習したい場合にも適しています。
PHPに関するいろいろな情報を無理に詰め込もうとしていないのでコンパクトで使いやすいものとなっています。
例えば、インストールや設定ファイルに関する記述は、ほとんどありません。
インストールやコンフィグのオプションなどの設定のやり方を知りたい場合には、インターネットや他の書籍で情報を得る必要があるでしょう。
DBMSについても、現実的な取捨選択が行われていて Postgres と MySQL についてだけコンパクトに説明しています。
例えば、データベース アブストラクション レイヤー関数 の説明などはまったくありません。
(cdb などを使いたい場合には、他の書籍やオンラインマニュアルを参考にすることになります)
http://www.php.net/manual/ja/ref.dba.php
はじめは、postgres と MySQL だけなの?(^_^;;)と疑問に思いましたが、関数の種類が多くて、関数名と機能だけ簡単に説明したようなものよりもこの書籍のように、コンパクトなサンプルプログラムと分かりやすい出力結果が含まれている方がよほど実用的ということが理解できました。
特に PHP + Postgres を使う人にとっては、余計な記述が無くて良いのかもしれません。

{ページ構成}
見出し
コマンド
(この書籍では + - if . or fread() など すべてコマンドと表記されています)
書式

出力結果
関連

{サンプルプログラムについて}
例と出力結果の部分が、とても良く考えられてると思います。
関数の使用方法を説明するという、目的に添ったシンプルなプログラム例とその実行結果がとても分かりやすくなっています。
サンプルプログラムの結果の表示部分には var_dump() という関数がいつも使われており、説明対象のコマンドがどのような働きをするのか理解を助けています。
var_dump() をいつも使うというちょっとした工夫は本書の価値を高めているポイントの一つです。

{書籍のスペック}
ページ数 512ページ
重さ 533グラム
定価 2180円
気軽に持ち運べる大きさです。

{この本をが役に立ちそうな人}
インストールや設定は済んでプログラミングを行う人
DBMS は Postgres を使う人
PHPのオンラインマニュアルと併用する人

{この本が役に立たない人}
インストールのやり方や設定の詳細について知りたい人
オンラインマニュアルに出ている関数全部の解説を期待している人

{疑問に思った点、分かりにくい点}
問い合わせや質問は、電話では受け付けずFAXで受け付けるということですが、電話番号が記載されていて、FAX番号がでていない ?
意味不明にサンプルプログラムの出力結果が省略されているページがある(例 P487) ?
関数 も if も == も説明する項目はすべてコマンドと表記している ?

{結論}
大きさの割に値段が高いような気がして、本屋さんでは他の本に目が行ってしまいそうですがこの本は、小さい中にぎっしり内容が詰まっています。
PHPの書籍をはじめて購入する方でも、既に他のPHPの書籍を何冊かお持ちの方でも、購入して損はありません、お勧めできる書籍です。
本屋で探すときには、オレンジ色の表紙が目印です。




書評者:湯浅 順子 様

まず、私のPHPのレベルは「中級の初期段階」くらいにあたると思っていますが、 このレベルのユーザにとって、本書はとても有意義であると思います。
PHPを利用してある程度の開発をしてはいるが、あまり深く理解をする機会を もたずにどちらかというと力任せに開発をしてきたユーザが、知識を整理する 場合や、もう少しPHPらしいスクリプトを書くために既知の関数を増やしたい ような場合に、本書はお薦めの一冊だと思います。

本書の一番の特徴は、ポケットリファレンスの名のとおり、すべてが「コンパクト」なことでしょう。通勤バックに入れて持ち歩くのに、それ程苦痛を感じない大きさもさることながら、関数の説明、利用時の注意点などの記述も、すべてがとてもコンパクトにまとまっています。が、コンパクトでありながら、バージョンに関する情報もしっかりと記述されていて、特にPHP5で予定されている変更に関連する注意事項は、新規の開発時に留意することとして有効です。
また、発生するエラーの種類などについても、エラーが発生するスクリプトの例と共に説明されていますし、他言語経験者が勘違いしやすい点にも言及されていて、とても参考になりました。
また、リファレンスの部分もさることながら冒頭にある「PHPの概要」の章が気に入っています。コンピュータ関連書籍には、かなりの頻度で冒頭に概要について書かれた章があり、多くの場合概要だけで食傷気味になってしまう場合が少なくない中で、本書の概要は約20ページにまとめられており、一気に読み進むことが可能な量です。このなかに、PHPの基本事項が分かりやすくまとまっています。

ただ、コンパクトであるがため、PHPでの開発経験がなければ、やや混乱するかもしれないと思われる表記や、エラーについての記述で若干統一感を欠くなどが見受けられます。また、目次で使用されているフォントの大きさが一定なため、カテゴリの区切りが感覚的に分かりにくく、やや引きづらさを感じました。

個人的には、PHPを勉強し始めた新人に参考書を尋ねられたとき真っ先にあげる本、という感じではないなと思いましたが、他言語経験はそこそこあり、PHPについて発展途上のユーザには一押しのリファレンスです。

リファレンスを読みきってみて、自分がいかに限られたファンクションで、開発を進めているかを改めて自覚し反省しました。
有意義な経験をさせていただきありがとうございました。




書評者:西本 智 様

ポケットリファレンスシリーズに、PHPが加わった。ポケットサイズ500ページほどの中に主要な関数が機能引きでまとめられている。PHPは翻訳プロジェクトチームの尽力もあり、日本語化された関数リファレンスが公式サイトにて公開されているが、サンプルコードの掲載は一部の関数に限られる。本誌では各関数ごとにサンプルコードが掲載されている上、丁寧なコメントも付け加えられているので、初めて使ってみる関数であっても参考にしながらコーディングすることが出来るだろう。もちろん、PHP3.xやPHP4.xの各バージョンの違いも押さえてあり、特定のバージョン以降で利用が可能となる関数や利用方法が異なる関数についてはその旨記されてある。

PHPはしばしばデータベースと連携したウェブサイトの開発で導入されるが、データベース関数では、PostgreSQLとMySQLに的をしぼって解説している。PHPはデータベースごとに専用の関数が用意されているので、確かにこれら全ての関数を掲載することは不可能だろう。PHPとPostgreSQL及びMySQLはよく使われる組み合わせでもあるので、選択としては妥当なところだと思う。巻末にはPostgreSQLを利用したセッション管理のサンプルも掲載されている。ただ、PostgreSQL関数とMySQL関数を混在して解説してある点は気になった。関数の接頭にはpgもしくはmysqlがついているので区別はつくが、リファレンスとして読みにくくなってしまったことは否めない。

ターゲットは、ある程度PHPの基本がわかっていて、これからいろいろなことを試してみたいと思っている人たちだろう。序盤に基本構文ついての解説もあるが、実際の関数の解説やサンプルコードを理解するにはある程度の知識が必要になってくる。入門書としての最初の1冊にするのは厳しいものがあるかも知れない。最近ではPHPが利用出来るホスティングサービスを安価で提供する業者も出てきたので、動的コンテンツを作ってみたいと勉強を始めた草の根ウェブマスタたちをアシストするいい本になると思う。

ポケットリファレンスシリーズでは最高額の\2,180という値段設定は評価が分かれるのではないだろうか。確かに紙媒体のリファレンスが手元にあると便利なのだが、ネットでも日本語化された関数リファレンスが参照出来るとなると、そこは費用対効果の葛藤になるだろう。ただ丁寧なコメントが付け加えられたサンプルコード群は、非常に重宝すると思う。




All Rights Reserved, Copyright (C) 1999-2002 Japan PostgreSQL Users Group
staff@postgresql.jp
$Id: phppocketreference.html,v 1.4 2003/06/06 09:46:59 snaga Exp $