Новое в Symfony 2.8: Устаревшее в YAML

Предстоящая версия Symfony 3.1 представит множество новых и полезных функций для компонента YML. Но прежде, чем получить эти возможности, в Symfony 2.8 нам нужно убрать некоторые функции, чтобы сделать YAML файлы соответствуют спецификации YAML. Убедитесь в том, что вы сделали все эти изменения перед обновлением приложения до Symfony 3.

DEPRECATED не маскирование \ в двойных кавычках

Это устаревшая особенность является общей при определении классов услуг:

app.user_manager:
    class: "AppBundle\Manager\UserManager"
    # ...

В качестве альтернативы можно либо удалить двойные кавычки или избежать \ обратной косой черты удваивая ее:

app.user_manager:
    # remove double quotes...
    class: AppBundle\Manager\UserManager
    # ...or escape backslashes
    class: "AppBundle\\Manager\\UserManager"
    # ...

Устаревшие использование @ в начале незаковыченой строки

Это неодобрение имеет большое распространение, потому что много сервисов используют обозначения @service_id  для определения их зависимостей:

app.user_manager:
    # ...
    arguments: [@router, @logger, @doctrine.orm.entity_manager]

В соответствии со спецификацией YAML, строки не могут начинаться с @, так что вы должны обернуть эти аргументы с одинарные или двойные кавычки:

app.user_manager:
    # ...
    arguments: ['@router', '@logger', '@doctrine.orm.entity_manager']

Устаревшие использование зарезервированных символов в начале незаковыченой строки

Это не должно оказать большое влияние на разработки на Symfony, потому что достаточно редко эти символы используются в начале незаковыченых строк:

app.user_manager:
    # ...
    arguments: [`string`, |string, >string]

Решение состоит в том, чтобы обернуть эти строки в одинарные или двойные кавычки:

app.user_manager:
    # ...
    arguments: ['`string`', '|string', '>string']

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

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

 

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

Ваш адрес email не будет опубликован.

4 × 3 =