Новое в Symfony 3.2: Изменения в синтаксисе YAML

Symfony 3.2 представит незначительное изменение синтаксиса YAML для того, чтобы сделать компонент YAML полностью совместим со спецификацией YAML.

Изменение касающиеся пропущены пробелов в директивах ключ/значение

YAML требует наличия по крайней мере одного пробела после двоеточия, отделяющего ключ и значение. В предыдущих версиях Symfony такое требование не являлось обязательным. В Symfony 3.2 такие директивы будут помечены как нежелательные и Symfony 4,0 будет выбрасывать исключение ParseException.

# It works in Symfony 3.1, it's deprecated in 3.2, it fails in 4.0
parameters:
    foo:bar
    published:true
    default_page:1

# It works in every past, present and future Symfony version
parameters:
    foo: bar
    published: true
    default_page: 1

Изменение в определениях ключей дубликатов

В предыдущих версиях Symfony, когда один файл YAML содержал дубликаты ключей, всегда использовался первый ключ, а остальные игнорировались:

# the second key is ignored and this document is parsed
# as: 'parameters' => array('key' => 'aaa')
parameters:
    key: 'aaa'
    # ...
    key: 'bbb'

В Symfony 3,2 такой синтаксис является устаревшим и Symfony 4.0 будет бросать ParseException. Следовательно, самое время проверить, содержат ли ваши YAML файлы дубликаты ключей.

Перенос команды yaml:lint в компонент YAML

Не существенное изменение, но в Symfony 3.2 мы решили перенести команду консоли yaml:lint из FrameworkBundle в компонент YAML. Это позволит вам использовать yaml:lint без необходимости подключать весь FrameworkBundle.

Единственное отличие состоит в том, что при использовании yaml:lint как компонент вы сможете проверять файлы и каталоги, а использовать его в рамках всего фреймворка также можете проверять бандлы:

# it works in the component and the framework
$ ./bin/console yaml:lint parameters.yml
$ ./bin/console yaml:lint app/config/

# it only works in the framework
$ ./bin/console yaml:lint @AppBundle

Источник: https://symfony.com/blog/new-in-symfony-3-2-yaml-deprecations

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

20 − 12 =