2017-02-07 3 views
-3

Я новичок в Symfony, и я рассматриваю возможность интеграции нескольких пакетов в мое приложение, но все пакеты, которые я нахожу, предназначены для Symfony 2. Насколько отличаются 2/3 и что какие проблемы я могу найти, когда я их интегрирую?do Symfony 2 связывает работу с Symfony 3

, например, я смотрю на это с помощью одного: http://knpbundles.com/sonata-project/SonataAdminBundle

, но это справедливо только для Symfony 2, и я не хочу тратить возраст, пытаясь интегрировать его и встретив проблемы с совместимостью.

ответ

0

Большинство пакетов Symfony 2.8+ работают из коробки с Symfony 3. Symfony 3 не так сильно отличается от предыдущей версии.

Вы можете легко проверить, не совместим ли Bundle с Symfony3, включив его в версии 2, а затем ищет устаревшие данные с использованием профилировщика.

[...] вы можете легко использовать пакет от sf2 до sf3, но при работе с функциональностью этого пакета возможно, что миграция не выполняется корректно без обновления этого пакета. Модификация в пучке для правильной работы в sf3 не очень важна. Но да, миграция проста, но не автоматическая. Предупреждение на этом этапе и прочитайте, какой комплект для знания - это пакет, связанный с техническим слоем sf3, и если мало кода изменения для работы в sf3.

Предыдущая цитата взята из this SO answer about the same question

2

Я попытаюсь дать ответ, хотя вопрос очень плохо, потому что это слишком широк.

Конечно, нет общего правила, в котором будет работать пакет Symfony, в котором версия Symfony, если это явно не указано в имеющейся официальной документации комплекта.

Пару показаний:

  1. Проверьте CHANGELOG, README и т.д. файлы ваших пучков. Например. в CHANGELOG от SonataAdminBundle вы найдете множество изменений и исправлений в отношении Symfony> 3.0 - так что это сильное указание на поддержку Symfony> 3.0.

  2. Проверьте композитор.json из комплекта, если таковой имеется. Возможно, Symfony требуется, и вы можете найти версию semver. Например. для пакета администрирования Sonata в компоненте composer.json требуется множество компонентов Symfony. Все они заявляют что-то вроде: "symfony/class-loader": "^2.3 || ^3.0", что означает, что для этого требуется хотя бы Symfony 2.3 или 3.0 - снова сильное указание, что оно будет работать с Symfony> 3.0.

Но в конце концов: управление зависимостями является проблемой с полным таймером, и вам нужно будет проверить.

+0

Большое спасибо за downvote - может кто-нибудь объяснить, почему я получил это? Я буду голосовать, чтобы закрыть вопрос сейчас. – LBA