2016-12-28 68 views
0

我有一對夫婦,其收益被緩存方法和緩存關鍵是方法本身的名稱。通過方法名稱調用靜態函數?

舉例來說,如果這是我的

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()?還是有更簡單的方法來做到這一點?

+4

應該是相同的使用情況下,這裏http://stackoverflow.com/questions/2108795/dynamic-static-method-call-in-php –

回答

0

感謝Michael Lihs用於連接在其評論的問題;事實證明,call_user_func()做什麼我要找的。