Начнем с того, что S4 по-прежнему поддерживает пакеты, как и прежде. Секция config была немного реорганизована, но если у вас уже есть огромное приложение, работающее под пакетами, вы можете просто оставить его более или менее как есть. Это все еще должно работать просто отлично с минимальной настройкой.
Существует пара подходов для приложения без пакетов. Обычно вы группируете файлы по функциям, используя подкаталоги функций, чтобы упорядочить вещи.
Предположим, у вас есть три существующих пакета, называемые FooBundle, BarBundle, JarBundle
config
services
foo.yaml
bar.yaml
jar.yaml
routes:
foo.yaml
bar.yaml
jar.yaml
src
Controller
Foo
Foo1Controller
Foo2Controller
Bar
etc
Entity
Foo
foo entities
Bar
bar entities
Form
etc
templates
foo
bar
jar
Вы поняли идею. Возможно, стоит смоделировать все это заранее, особенно, чтобы увидеть, где шансы и концы могут соответствовать. И, вероятно, использовать пространство имен приложения для всего. Этот подход в значительной степени соответствует рекомендациям Symfony 4. На самом деле не могу пойти очень далеко с этим.
Существует как минимум еще один подход, при котором файлы группируются по функциям. Я не буду вдаваться в подробности, так как это определенно не обычный подход Symfony и потребует некоторой настройки. Но вы могли бы сделать:
src
Blog
routes.yaml
services.yaml
BlogEntity.php
BlogVoter.php
Edit
BlogEditController.php
BlogEditForm.php
BlogEditTemplate.html.twig
etc
Show
BlogShowController.php
etc