Возможно ли, чтобы Twig заставил рендерить переменные со скобками {{example} вместо исключения? - PullRequest
0 голосов
/ 07 сентября 2018

Я использую Twig для рендеринга сгенерированных клиентом шаблонов. Если клиент пропускает закрывающую скобку:

В настоящее время веточка выдает \ Twig_Error и возвращает сообщение:

Unexpected "}" in "custom-template-render5b91be77b99485.95837275" at line 2.

Можно ли было бы сделать так, чтобы Twig отобразил столько переменных, сколько мог получить (предположительно, начальные в шаблоне), а затем просто отбросил после получения мошеннических скобок?

$parameters = [
  'mine' => 'sentence', 
  'variable' => 'broken',
  'another' => 'broken',
];
$templateString  = "Here is my {{ mine }} with a broken {{ variable } and {{ another }}";
echo $twigEngine->render($templateString, $parameters);

Выше показано отсутствие закрывающей второй скобки. Было бы здорово, если бы вывод был:

"Here is my sentence with a broken {{ variable } and {{ another }}"

Любые идеи будут оценены.

1 Ответ

0 голосов
/ 07 сентября 2018

Подтвердите введенные пользователем данные перед сохранением

$error = null;
try {
    $twigEngine->render($templateString, $parameters);
}catch(\Exception $e) {
    $error = $e->getMessage();
}

if ($error) {
    //display error
}else{
    //save customer template        
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...