2016-12-28 6 views
0

私は戻り値がキャッシュされているメソッドをいくつか持ち、キャッシュキーはメソッド自体の名前です。例えば静的関数をメソッド名で呼び出しますか?

、これは

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

私のクラスであれば、キャッシュキーの値がtester::testです。

キャッシュを温める機能を実装しています。私がすべてのキャッシュキーを持っていれば、私はそれらを1つずつ呼び出すことができます。

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

しかし、どうやら、私は

Fatal error: Call to undefined function tester::test() ...

このようにし 'tester::test'のような文字列を呼び出すことはできません私は、文字列の解析を行うために、クラス名やメソッドを引き離すために、次にようにそれらを呼び出す必要があります $class::$method()?それとも簡単な方法がありますか?

+4

ここと同じユースケースである必要がありますhttp://stackoverflow.com/questions/2108795/dynamic-static-method-call-in-php –

答えて

0

コメントに質問をリンクしてくれたMichael Lihsに感謝します。 call_user_func()は私が探していることをしています。

関連する問題