Функция веточки: как вернуть пользовательскую ошибку

Я пишу функцию Twig, которая создает ссылки от 1 до 5 и параметр, передаваемый как переменную, что-то вроде:

<a href="myurl.com/criterium=criterium1&value=my_value">text</a>

Я знаю, что могу иметь только criterium1, criterium2 а также criterium3так что у меня есть массив с ними внутри и с in_array() Я проверяю, что пройденный критерий является действительным.

Но если критерия нет в фиксированном массиве, я хочу вернуть ошибку и сообщить разработчику, какие критерии допустимы.

Как я могу вернуть этот тип ошибки изнутри функции Twig?

Что-то вроде:

Вы прошли критерий "Неправильный_критерий". Только "критерий 1", "критерий 2" и "критерий 3" допускаются.

1 ответ

Решение

Если вы хотите выбросить исключение, вы можете просто сделать это с

throw new UndefinedOptionsException();

Если вы хотите просто визуализировать html-ошибку, вы можете сделать это с помощью:

return "<p class='error'>You passed the criterium 'wrong_criterium'. Only 'criterium1', 'criterium2' and 'criterium3' are allowed</p>"; 
Другие вопросы по тегам