第2回 PHPプログラミングの基礎を学ぼう レビュー

hiro_yさんから第2回がヤバイというコメントがあったので見てみた.

本連載では、エラー処理に「die("メッセージ")」を使用します。die()は引数に指定されたメッセージを表示して、それ以降の処理を中断します。ちなみに、exit()を使用すれば、メッセージを表示せずに処理を終了できます。

die()はexit()の別名なのでこの説明は語弊があるんじゃないでしょうか?
マニュアルによると

die("メッセージ");
exit("メッセージ");

は同じ意味になるようです.

注:ソースからインストールした場合 は、/usr/local/bin/php -l sample.php

この表記ですが,個人的にはこういう場合などで語弊がある表記なので使わないようにしています.
より正確には「configure時に--prefixで/usr/local以外を指定した場合〜」などになると思います.
この辺「初心者向けだから細かいことを抜きに…」とか反論される方もおおいですが,それなら単に「一般的に/usr/bin/phpや/usr/local/bin/phpを使用することになる場合が多いです」などの方がよりシンプルで適切だと思います.

#そもそも(初心者が)ソースからインストールしたとか意味不明なことで思考を条件分岐しないといけないんだと

ボタンの2度押し防止に関しては、1度目のクリックでボタンを無効化します。通常とされる個所をとして、クリックされても単純に次の画面に切り替わらないようにします。その代わり「onClick="disableButton()"」でJavaScriptのdisableButton()関数を実行します。

まるでJavaScriptに標準でdisableButton()という関数があるかのような表記.というかあるのかと思ってびびった(苦笑
私なら

独自にdisableButton()関数を用意し、クリックされても単純に次の画面に切り替わらないようするために、「onClick="disableButton()"」という属性をタグに付加し実行するようにします。

的に書くと思います.なんか自分でもしっくり来ないけど他の方の文体なので(苦笑

また、ユーザーによってはJavaScriptを無効に設定している可能性もあります。そのため、本来はPHPアプリケーション側でも「入力項目の確認」や「重複処理の防止」を実装すべきです。しかし、本連載ではコードの可読性を重視するため、JavaScriptによるチェックを主に用いています。

可読性のためにPHPの記事でJavaScriptを使うと.可読性というか正しく前の画面に戻る処理を書くのが面倒なんですよね.こういう実装だと私も面倒だけど(苦笑

個人的には第2回自体はそんなにやばくない(XSSの可能性とかE_NOTICEとかあるけど)と思うんだけど,初心者向けへの配慮は欠けているなーと思います.どうなんでしょ.