- 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 'Closure before bind: ' . PHP_EOL;
echo 'Class closure: ' . PHP_EOL;
var_dump($closureInClass());
echo 'Trait closure: ' . PHP_EOL;
var_dump($closureInTrait());
$closureInClass = Closure::bind($closureInClass, null, 'stdClass');
$closureInTrait = Closure::bind($closureInTrait, null, 'stdClass');
echo 'Closure after bind: ' . PHP_EOL;
echo 'Class closure: ' . PHP_EOL;
var_dump($closureInClass());
echo 'Trait closure: ' . PHP_EOL;
var_dump($closureInTrait());