ホーム » ブログ » 2007年05月 » PHPの開発を8倍早くする方法

PHPの開発を8倍早くする方法

2007-05-30 written by akiyan | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

大真面目に。

var_dumpの代わりに以下の関数d(dumpのd)を使います。

function d() {
  foreach (func_get_args() as $v) var_dump($v);
}

var_dump(8文字)がd(1文字)になるので8倍というわけです。単純すぎる方法ですが、タイプ量はかなり重要ですよ。実際に試してみるとわかりますが、体感できるほど快適になります。(エディタの補完機能でいいじゃんという話もありますが、それはそれで...)

ちょっとリッチなバージョンも置いておきます。

// 白背景・黒文字・等幅フォント・フォントサイズ固定・ボーダー囲み
function d() {
  echo '<pre style="background:#fff;color:#333;border:1px solid #ccc;margin:2px;padding:4px;font-family:monospace;font-size:12px">';
  foreach (func_get_args() as $v) var_dump($v);
  echo '</pre>';
}

htmlspecialcharsもよく使うのでこれもオススメです。16倍早くなります。というかhtmlspecialcharsを数えたら16文字あることに唖然としました。

function h($str, $style = null, $charset = null) {
  return htmlspecialchars($str, $style, $charset);
}

他にも再定義するとよさそうな関数はありそうですね。やりすぎは混乱の元ですが、どんな環境でも使える手法なので、おすすめですよ。

2007-05-30 written by akiyan | 記事 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

コメント

心は萌え - 2007-05-31 07:07:10

$h=htmlspecialchars;
$h($str,$style,$charset);
hの方は関数ポインタで良いと思われ。

心は萌え - 2007-05-31 07:07:00

失礼しました。
$h='htmlspecialchars';
です。

あきやん - 2007-05-31 09:09:33

スコープが限られていれば、関数ポインタもいいですね!

あきやん - 2007-05-31 15:03:18

(厳密には関数ポインタではなく変数の文字列で呼び出し、ですね)

幸之介 - 2007-06-01 18:06:30

print_rのリッチなやつ貼っておきますね

// デバッグ用出力関数
function p( $var, $label = FALSE ){
if( $label ){
$text = '' . $label . ' : ';
}
else{
$text = '';
}
$text.= htmlspecialchars( print_r($var,1) );
$text.= '';
$text = preg_replace( '/(Array)([\r\n])/', '$1$2', $text );
$text = preg_replace( '/ (\[.+?\]) /' , ' $1 ' , $text );
$text = preg_replace( '/ (\=\>) /' , ' $1 ', $text );
echo $text;
}

kenji-u - 2007-06-08 10:10:06

トラックバックが飛ばないのでこちらに

http://d.hatena.ne.jp/kenji-u/20070531/p1

投稿



本文と関連性の無いコメントは削除することがあります。予めご了承ください。

トラックバック

このエントリへのトラックバックURLは
http://www.akiyan.com/cgi/mt/mt-tb.cgi/1392
です。トラックバック元のエントリに当サイトへのリンクが無い場合はトラックバックを削除することがあります。