存取HEREDOC 字串中的PHP 函數
在PHP 中,HEREDOC 字串語法提供了定義多行文字區塊的便捷方法。但是,在這些字串中包含複雜的表達式或函數呼叫需要仔細處理。
傳統上,在HEREDOC 字串中將函數呼叫括在大括號中是行不通的:
$string = <<<HEREDOC {testfunction()} HEREDOC;
要克服此限制,需要更複雜的方法,包括將函數名稱儲存在變數中並動態呼叫它:
$fn = 'testfunction'; $string = <<<HEREDOC {$fn()} HEREDOC;
但是,此方法很麻煩並且降低了程式碼的可讀性。
更簡單的方法是使用自訂函數來處理HEREDOC 字串的大括號部分:
function fn($data) { return $data; } $fn = 'fn'; $my_string = <<<EOT Number of seconds since the Unix Epoch: {$fn(time())} EOT;
透過將所需的資料傳遞到此函數,可以評估任何表達式或函數調用,並將結果包含在HEREDOC 字串中。
此外,考慮使用 Twig 或Smarty 可以處理複雜的資料處理和輸出生成,這可以提供更清晰、更有組織的方法。
以上是如何在 HEREDOC 字串中執行 PHP 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!