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

大真面目に。

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);
}
他にも再定義するとよさそうな関数はありそうですね。やりすぎは混乱の元ですが、どんな環境でも使える手法なので、おすすめですよ。

6 Comments

  1. 心は萌え
    $h=htmlspecialchars; $h($str,$style,$charset); hの方は関数ポインタで良いと思われ。
  2. 心は萌え
    失礼しました。 $h='htmlspecialchars'; です。
  3. あきやん
    スコープが限られていれば、関数ポインタもいいですね!
  4. あきやん
    (厳密には関数ポインタではなく変数の文字列で呼び出し、ですね)
  5. 幸之介
    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; }