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

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

Ashterix

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