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`.