PHP определил именованную константу как имя функции - PullRequest
1 голос
/ 07 июня 2011

Как создать динамическое имя функции, зависящее от определенной именованной константы?

например:

define('NAME1','func1');

function NAME1($arg) {
    echo "function 1 $arg\n";
    print __FUNCTION__." in ".__FILE__." at ".__LINE__."\n";
};

NAME1("helllo");

это имя функции эха как "NAME1" - почему это не func1?

Ответы [ 2 ]

4 голосов
/ 07 июня 2011

Самое близкое, о чем я могу подумать, - это использовать PHP 5.3 анонимные функции (кроме использования eval)

define('NAME1', 'my_function');
$func_name = NAME1;
$$func_name = function($arg) {
   // Your code
};
$my_function('test');
1 голос
/ 07 июня 2011

Вы не можете сделать это.

this echos function name as "NAME1" - why is it not func1?

, потому что вы определили имя своей функции как NAME1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...