[英]Variable function compatibility with PHP 7 and PHP5
我有一種情況,這在PHP5中工作但在PHP7中致命:
/* load batch processing data into variable */
$args = get_option('leads_batch_processing');
/* process batches */
self::$args['method']($args);
這適用於PHP7,但致命的PHP5:
/* load batch processing data into variable */
$args = get_option('leads_batch_processing');
/* process batches */
self::{$args['method']}($args);
如何在兩種PHP環境中成功使用變量函數? 我嘗試使用基於PHP版本的if條件,但PHP7版本的語法致命PHP5,所以我不能走那條路。
我該怎么辦?
將其分配給常規變量,這不會導致語法錯誤:
$method = $args['method'];
$this->$method($args);
或者,與注釋中建議的類似,使用call_user_func()
:
call_user_func(
array($this, $args['method']),
$args
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.