__call

0pt

benchmark

test code

require_once('Benchmark/Timer.php');
$b = new Benchmark_Timer();
$b->start();
$test = new test();
for ($i = 0; $i < 100000; $i++){
    $test->concat('hogehoge', 'mogemoge');
}
$b->setMarker(1);
for ($i = 0; $i < 100000; $i++){
    $test->concat2('hogehoge', 'mogemoge');
}
$b->display();

class test{
    function __call($name, $arg){
        if ($name == 'concat2'){
            if (count($arg) == 2){
                return $arg[0] . ' ' . $arg[1];
            }else{
                throw Exception();
            }
        }
    }
    function concat($arg1, $arg2){
        return $arg1 . ' ' . $arg2;
    }
}

result

----------------------------------------------------
marker  time index            ex time         perct   
----------------------------------------------------
Start   1178773356.53114300   -                0.00%
----------------------------------------------------
1       1178773356.99869900   0.467556        31.74%
----------------------------------------------------
Stop    1178773358.00420100   1.005502        68.26%
----------------------------------------------------
total   -                     1.473058       100.00%
----------------------------------------------------

「__call」について友人に書いてもらう。

あなたにとって「__call」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

他の人の「__call」を見る