Как я могу создать функцию динамически?

У меня есть переменная типа $string = "blah";

Как создать функцию, которая имеет значение переменной как имя? Возможно ли это в PHP?

Подобно function $string($args){ ... } или что-то еще, и иметь возможность называть ее так:

 blah($args); 

Related of "Как я могу создать функцию динамически?"

Это не похоже на отличный дизайн, возможно, стоит переосмыслить его, но …

Если вы используете PHP 5.3, вы можете использовать анонимную функцию.

 <?php $functionName = "doStuff"; $$functionName = function($args) { // Do stuff }; $args = array(); $doStuff($args); ?> 

это может быть не очень хорошая идея, но вы можете сделать что-то вроде этого:

 $string = "blah"; $args = "args" $string = 'function ' . $string . "({$args}) { ... }"; eval($string); 

Вы можете вызвать функцию по имени, хранящемуся в переменной, и вы также можете назначить функцию переменным и вызвать ее с помощью переменной. Если это не то, что вы хотите, объясните больше.

Попробуйте call_user_func_array()

Ссылка на php.net