Вы можете создавать анонимные функции в PHP, используя create_function()
. Вы можете назначить каждую анонимную функцию переменной $newfunctionname
и выполнить ее, используя call_user_func()
:
$newfunctionname = "Node".$i;
$$newfunctionname = create_function('$input', 'echo $input;');
// Creates variables named Node1, Node2, Node3..... containing the function
Я думаю, что это самое близкое, что вы можете получить в PHP таким способом, который не выглядит как полный взлом.
Я не думаю, что можно определить функцию непосредственно из переменной. Мне бы это тоже не понравилось, потому что вы бы загрязняли пространство имен этими функциями. Если анонимные функции не работают, это требует объектно-ориентированного подхода.