У меня есть следующий пример кодаКак вызвать функцию переменной в php внутри класса?
<?php
class Test {
function foo() {
print "foo\n";
}
function bar() {
$func = 'foo';
$func();
}
}
$test = new Test();
$test->bar()
, который вызывает $test-bar()
, whiich внутренне вызывает переменную функцию PHP с именем foo
. Эта переменная содержит строку foo
, и я хочу, чтобы функция foo
называлась like here. Вместо того, чтобы ожидаемый выход
foo
Я получаю сообщение об ошибке:
PHP Fatal error: Call to undefined function foo() ...
Как сделать это правильно, при использовании строки для имени-функции? Строка «func» может обозначать несколько различных функций внутри области класса в фактическом коде.
Согласно the doc выше должен работать, как я закодирован, более или менее ...
0_0 Как насчет использования структур данных, а не таких ужасов, как '$ func = 'foo'; $ FUNC(); '? –