0

I have a couple of methods whose returns are being cached, and the cache key is the name of the method itself.

For instance, if this is my class

class tester {
  static function test() {
    $data = build_data();
    cache(__METHOD__, $data);
  }
}

The cache key value is tester::test.

I am implementing functionality to warm the cache. If I have all the cache keys, I could just call them one by one.

foreach ( $keys as $key ) {
  $key();
}

But apparently, I can't call a string like 'tester::test' in this manner Fatal error: Call to undefined function tester::test() ...

Do I have to do string parsing, to pull apart the class name and method, and then call them like $class::$method()? Or is there a simpler way to do it?

user151841
  • 17,377
  • 29
  • 109
  • 171

1 Answers1

0

Thanks to Michael Lihs for linking the question in their comment; it turns out that call_user_func() does what I'm looking for.

user151841
  • 17,377
  • 29
  • 109
  • 171