2014-04-14 101 views
0

我將使用樹枝作爲公共服務的郵件模板引擎。 我遇到的問題是,如果用戶未完成枝條變量標籤 - 這將導致異常,並會制動系統。樹枝模板未完成標籤

Hello, {{ name *(instead {{ name }})* 

message body 

我有沒有辦法忽略枝條語法中的錯誤?

回答

2

作爲一個選項,您可以抑制Twig_Error_Syntax與registerUndefinedFunctionCallbackregisterUndefinedFilterCallback

你可以嘗試這樣的:

$twig->registerUndefinedFunctionCallback(function ($name) { 

    if (function_exists($name)) { 
    return new Twig_Function_Function($name); 
    } 

    return false; 
}); 

它應該返回false。

或另一種方式簡單地捕捉異常,此刻當樹枝試圖解析:

try { 

    $twig->parse($twig->tokenize($template)); 


} catch (Twig_Error_Syntax $e) { 

    // here you are  

}