Структура проєкту

← Структура проєкту

Ashterix

docs(articles): Magento and Symfony examples side by side, request lifecycle as a Mermaid diagram

uk/articles/magento-to-symfony/basics/structure.md +22 −7

2 2
3 3 Новий проєкт: `symfony new faq --webapp` (Symfony CLI) або `composer create-project symfony/skeleton faq` для мінімального набору. Flex додає пакети разом із конфігом: `composer require orm` створить `config/packages/doctrine.yaml` і змінну `DATABASE_URL`.
4 4
5 + ::::columns
6 + :::col
5 7 **Magento** · дерево модуля
6 8
7 9 ```text
8 10 app/
9 11 code/Vendor/Faq/
10 12 registration.php
11 − etc/module.xml di.xml events.xml
12 − etc/frontend/routes.xml
13 − etc/adminhtml/system.xml menu.xml
14 − etc/acl.xml webapi.xml crontab.xml
15 − etc/db_schema.xml
16 − Api/ Api/Data/
13 + etc
14 + module.xml
15 + di.xml
16 + events.xml
17 + etc
18 + frontend
19 + routes.xml
20 + adminhtml
21 + system.xml
22 + menu.xml
23 + acl.xml
24 + webapi.xml
25 + crontab.xml
26 + db_schema.xml
27 + Api
28 + Data
17 29 Model/ Model/ResourceModel/
18 30 Controller/ Block/ ViewModel/
19 31 view/frontend/layout/ templates/ web/
23 35 pub/index.php pub/static/
24 36 var/ vendor/
25 37 ```
26 −
38 + :::
39 + :::col
27 40 **Symfony** · дерево застосунку
28 41
29 42 ```text
47 60 vendor/
48 61 .env .env.local .env.test
49 62 ```
63 + :::
64 + ::::
50 65
51 66 Розкладка `src/` за технічними шарами (Controller, Entity…) — лише стартовий шаблон. Для великого проєкту можна групувати за доменами (`src/Faq/…`, `src/Catalog/…`), фреймворк це не обмежує: `services.yaml` реєструє все в `src/`, а Doctrine шукає сутності там, де ви вкажете в `doctrine.yaml`.