Обмеження Twig

Дата обновления перевода 2025-07-27

Обмеження Twig

7.3

Ограничение Twig было представлено в Symfony 7.3.

Валидирует, що заданная строка содержит валидный синтаксис Twig . Это особенно полезно, когда содержание шаблона создается пользователем или является конфигурируемым, и вы хотите убедиться, что оно может быть отображено движком Twig.

Note

Использование этого ограничения требует установленного пакета symfony/twig-bridge в вашем приложении (например, путем запуска composer require symfony/twig-bridge).

??????????? ? ???????? ??? ??????
????? Twig
????????? TwigValidator

Базовое использование

Примените ограничение Twig, чтобы валидировать содержание любого свойства или возвратного значения любого метода:

1
2
3
4
5
6
7
use Symfony\Bridge\Twig\Validator\Constraints\Twig;

class Template
{
    #[Twig]
    private string $templateCode;
}
1
2
3
4
5
6
7
8
9
10
// src/Entity/Page.php
namespace App\Entity;

use Symfony\Bridge\Twig\Validator\Constraints\Twig;

class Page
{
    #[Twig]
    private string $templateCode;
}

Опции ограничения

message

тип: message по умолчанию: Это значение не является валидным шаблоном Twig.

Это сообщение отображается, если заданная строка не содержить валидный синтаксис Twig:

1
2
3
4
5
6
7
// ...

class Page
{
    #[Twig(message: 'Check this Twig code; it contains errors.')]
    private string $templateCode;
}

Это сообщение не имеет параметров.

skipDeprecations

тип: boolean по умолчанию: true

Если true, то предупреждения про устаревания Twig игнорируются во время валидации. Установите как false, чтобы вызывать ошибки валидации, если заданный код Twig содержит любые устаревания:

1
2
3
4
5
6
7
// ...

class Page
{
    #[Twig(skipDeprecations: false)]
    private string $templateCode;
}

Это может быть полезным при применении более строгих правил шаблонов или при подготовке к обновлению до старшей версии Twig.