- var_dump: documentation ( source)
<?php
function foo(int $a) {
var_dump($a);
}
function define_callbacks() {
$string = 'foo';
$lambda = fn(...$args) => foo(...$args);
$fcc = foo(...);
return [$string, $lambda, $fcc];
}
function test_callback($callback) {
$callback(1);
try {
$callback(new class{});
} catch ( TypeError $e ) {
echo $e->getMessage(), "\n";
}
}
[$string, $lambda, $fcc] = define_callbacks();
echo "== String-based ==\n";
test_callback($string);
echo "\n== Type-less lambda ==\n";
test_callback($lambda);
echo "\n== First-class callable ==\n";
test_callback($fcc);