Я хотел бы обрабатывать ссылки на функции и лямбда согласованно в PHP, но у меня возникают проблемы при назначении ссылки на функцию для переменной.
function foo()
{
echo "hi\n";
}
$here = function() { echo "hello\n"; };
$here = foo;
Последняя строка дает мне предупреждение. Я мог бы использовать строковый литерал, но я боюсь двух вещей — позже использовать его как строку по ошибке и проблемы с разрешением имени при передаче такой строковой ссылки через границы пространства имен.
Есть ли способ получить эту ссылку без использования строк?
Один из способов — создать его как анонимную функцию:
$foo = function()
{
echo "hi\n";
};
$foo();
Других решений пока нет …