<?php
function bar(callable $fn)
{
echo "It passed a callable check\n";
$fn();
}
class foo
{
private $value = '12345';
function bar()
{
echo "oh dear lord, this is an instance function";
echo "value is: ".$this->value; //
echo "where did it go?";
}
}
$foo = new foo;
@bar(['foo', 'bar']);
echo "wait what?";
Fatal error: Uncaught TypeError: bar(): Argument #1 ($fn) must be of type callable, array given, called in /in/pg4Il on line 24 and defined in /in/pg4Il:4
Stack trace:
#0 /in/pg4Il(24): bar(Array)
#1 {main}
thrown in /in/pg4Il on line 4
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Fatal error: Uncaught TypeError: bar(): Argument #1 ($fn) must be of type callable, array given, called in /in/pg4Il on line 24 and defined in /in/pg4Il:4
Stack trace:
#0 /in/pg4Il(24): bar(Array)
#1 {main}
thrown in /in/pg4Il on line 4
Process exited with code 255.
It passed a callable check
oh dear lord, this is an instance function
Fatal error: Uncaught Error: Using $this when not in object context in /in/pg4Il:17
Stack trace:
#0 /in/pg4Il(7): foo::bar()
#1 /in/pg4Il(24): bar(Array)
#2 {main}
thrown in /in/pg4Il on line 17
Process exited with code 255.