<?php
namespace Name;
function Boo() {
var_dump('func:', __FUNCTION__, __METHOD__);
}
trait Constants {
public static function classConst () { return function () { return __CLASS__; }; }
public static function traitC () {var_dump('trait_method:', __FUNCTION__, __METHOD__, __CLASS__);call_user_func(function () { var_dump('trait_closure:', __FUNCTION__, __METHOD__, __CLASS__); }); }
}
class Foo {
use Constants;
public static function method () {var_dump('method:', __FUNCTION__, __METHOD__);call_user_func(function () { var_dump('closure:', __FUNCTION__, __METHOD__); }); }
}
//Boo();
//Foo::method();
//Foo::traitC();
//var_dump(__METHOD__);
$closure = Foo::classConst();
var_dump($closure());
$closure->bindTo(null, '\\stdClass');
var_dump($closure());
preferences:
43.22 ms | 402 KiB | 5 Q