Поймать исключение веточки для переменных, которых нет в контроллере - PullRequest
0 голосов
/ 30 мая 2020

Я хочу обработать исключение веточки из контроллера, при рендеринге шаблона веточки, допустим, у меня есть шаблон веточки, в котором есть переменная {{Name}}, но я не указываю ее значение при рендеринге, он отправит мне обратно 500 с ужасной страницей исключений symfony, я не хочу отображать именно пользовательскую страницу ошибок, а вместо этого текстовый ответ, например

There are some mandatory fields you did not provide:
 1. Name
 2. More variables if needed...
public function renderAction (Request $request) {
    try {
        $rendered = $this->render(<pathToTwigFile>);
    } catch (\Throwable $th) {
        /* Collect all errors and return a text that indicates
            every twig variable that was not provided*/
    }

    return $rendered;
}

Я не хочу обрабатывать их из ветки с помощью фильтр по умолчанию, потому что пользователи моего сайта будут отправлять на мой сервер свои собственные шаблоны, и я должен визуализировать их, заменив переменные между фигурными скобками на их фактическое значение, и если пользователь отправит переменную, которой нет в моей системе, я хочу уведомить их, не бросая ужасную веб-страницу symfony 500. ej

Указанная вами переменная WhatIsThis не существует

Я отправлю шаблон пользователя, используя ajax, мой контроллер отображает его, и если есть error, массив ошибок должен быть отправлен обратно вместо страницы ошибки symfony 500, а затем распечатать эти ошибки для пользователя, чтобы они могли редактировать свои шаблоны.

Я не знаю, что за исключение рендеринг ветки может бросить, поэтому я хотел бы получить несколько рекомендаций или небольшую информацию о том, как делать то, что мне нужно.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...