- var_dump: documentation ( source)
<?php
trait ClosureInATrait
{
public static function getClosureInTrait()
{
return function () {
return __CLASS__;
};
}
}
class ClassConstantTest
{
use ClosureInATrait;
public static function getClosureInClass()
{
return function () {
return __CLASS__;
};
}
}
$closureInClass = ClassConstantTest::getClosureInClass();
$closureInTrait = ClassConstantTest::getClosureInTrait();
echo 'Before bind: ' . PHP_EOL;
echo '__CLASS__ in class: ' . PHP_EOL;
var_dump($closureInClass());
echo '__CLASS__ in Trait: ' . PHP_EOL;
var_dump($closureInTrait());
$closureInClass = Closure::bind($closureInClass, null, 'stdClass');
$closureInTrait = Closure::bind($closureInTrait, null, 'stdClass');
echo 'After bind: ' . PHP_EOL;
echo '__CLASS__ in class: ' . PHP_EOL;
var_dump($closureInClass());
echo '__CLASS__ in Trait: ' . PHP_EOL;
var_dump($closureInTrait());