dieとexit
exit関数(dieはこのエイリアス)の引数に文字列を渡すと、メッセージとして文字列を出力してスクリプトが終了するのだが。
PHP4.2以降ではintegerを渡すと終了時のステータスコードになる。0は正常終了なので、適時利用すればいい。利用できるのは254までの整数で、255は予約されている。
255を越える値を渡すと無視される。
で、何が言いたいのかというと、
public static function response($str){ header('Expires: ' . gmdate('D, j M Y H:i:s', 1)); print("\xef\xbb\xbf"); die($str); }
うっかりこんなコードを書くと、$strに整数しか入っていない場合は何も出力されない。Ajaxでサーバ側からのレスポンスを記述するときによくやってしまいがち。
public static function response($str){ header('Expires: ' . gmdate('D, j M Y H:i:s', 1)); print("\xef\xbb\xbf"); print($str); exit; }
これが正しい。って、自分がやってしまったわけですが。
« ひとり
コメントを残す