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);
}

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

コメント / トラックバック

コメント / トラックバック 7 件

  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;
    }

  6. kenji-u より:

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

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

  7. [...] <?php function say($w) { echo $w; } $s = say; $s("tiwa"); // "tiwa"を出力 へー、こんなこと出来るのか! ref) PHPの開発を8倍早くする方法(のコメント欄) 追記あります↓ あれ、ちょっと待てよ [...]