docs(articles): From Magento to Symfony, a requalification guide grouped into sections
uk/articles/magento-to-symfony/basics/structure.md
новий файл +51
−0
1
+
# Структура проєкту
2
+
3
+
Новий проєкт: `symfony new faq --webapp` (Symfony CLI) або `composer create-project symfony/skeleton faq` для мінімального набору. Flex додає пакети разом із конфігом: `composer require orm` створить `config/packages/doctrine.yaml` і змінну `DATABASE_URL`.
4
+
5
+
**Magento** · дерево модуля
6
+
7
+
```text
8
+
app/
9
+
code/Vendor/Faq/
10
+
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/
17
+
Model/ Model/ResourceModel/
18
+
Controller/ Block/ ViewModel/
19
+
view/frontend/layout/ templates/ web/
20
+
etc/env.php config.php
21
+
bin/magento
22
+
generated/
23
+
pub/index.php pub/static/
24
+
var/ vendor/
25
+
```
26
+
27
+
**Symfony** · дерево застосунку
28
+
29
+
```text
30
+
bin/console
31
+
config/
32
+
bundles.php
33
+
packages/ doctrine.yaml security.yaml
34
+
messenger.yaml monolog.yaml …
35
+
routes.yaml
36
+
services.yaml
37
+
migrations/
38
+
public/index.php
39
+
src/
40
+
Kernel.php
41
+
Controller/ Entity/ Repository/
42
+
Dto/ Message/ MessageHandler/
43
+
EventListener/ Security/
44
+
translations/
45
+
tests/
46
+
var/cache/ var/log/
47
+
vendor/
48
+
.env .env.local .env.test
49
+
```
50
+
51
+
Розкладка `src/` за технічними шарами (Controller, Entity…) — лише стартовий шаблон. Для великого проєкту можна групувати за доменами (`src/Faq/…`, `src/Catalog/…`), фреймворк це не обмежує: `services.yaml` реєструє все в `src/`, а Doctrine шукає сутності там, де ви вкажете в `doctrine.yaml`.