У меня есть несколько методов, чьи возвращения кэшируются, а ключ кеша - это имя самого метода.Вызов статической функции по имени метода?
Например, если это мой класс
class tester {
static function test() {
$data = build_data();
cache(__METHOD__, $data);
}
}
Значение ключа кэша tester::test
.
Я использую функциональность для нагрева кеша. Если у меня есть все ключи кеша, я могу просто позвонить им по одному.
foreach ($keys as $key) {
$key();
}
Но, видимо, я не могу назвать строку как 'tester::test'
таким образом Fatal error: Call to undefined function tester::test() ...
Должен ли я сделать строковое синтаксический анализ, чтобы растащить имя класса и метод, а затем вызвать их как $class::$method()
? Или есть более простой способ сделать это?
Должен быть такой же вариант использования, как здесь http://stackoverflow.com/questions/2108795/dynamic-static-method-call-in-php –