foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

PHP 5.3 を早く使いたい

PHP の例外処理では未だに finally が使えない。
PHP 6 でも使えないらしいので、データベースのハンドルの解放も面倒。
PHP 5.3 になるとクロージャが使えるそうなので、こんな↓コードでハンドル解放が楽になるんじゃないかなと思う。

<?php
function connectDb($func){
    try {
        echo "init database resource...\n";
        $db = "database connection.";
        $ret = $func($db);
        echo "term database resource...\n";
    }
    catch(Exception $ex){
        echo "term...\n";
        throw $ex;
    }
    
    return $ret;
}

$ret = connectDb(function($db){
    echo "execute query...\n";
    return 1;
});
echo "ret = $ret\n";
?>

とはいっても、出て日が浅い PHP 5.3.0 を使うのには勇気がいる。
PHP 5.3 が早くこなれてこないかな〜。