Пример #1
0
    public static function stcompute(array $values)
    {
        $count = 0;
        $callback = function ($p1, $p2) use(&$count, $values) {
            echo "Inside method >>" . __METHOD__ . "<<\n";
            // called D::{closure}
            ++$count;
        };
        echo "--\n";
        var_dump(gettype($callback));
        echo "--\n";
        var_dump($callback);
        echo "--\n";
        var_dump($callback instanceof Closure);
        echo "--\n";
        $callback(1, 2, 3);
        echo "\$count = {$count}\n";
        $callback(5, 6, 7);
        echo "\$count = {$count}\n";
    }
}
$d1 = new D();
$d1->compute(["red" => 3, 10]);
echo "----------------- using a use clause, #3 (static method) ----------------------\n";
D::stcompute(["red" => 3, 10]);
echo "----------------- Misc. Stuff ----------------------\n";
//(function () { echo "Hi\n"; })();     // ca't use an anon function directly with ()
$v = function () {
    echo "Hi\n";
};
$v();