blob: 42ad7ff80b8b260880726d847ceed5957af43ef6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
:PROPERTIES:
:ID: 71d88c28-b79f-47cc-b5ec-7439fcff5f7f
:END:
#+title: Symfony
* Symfony
Фреймворк для работы.
Симфони спроектирован с учётом [[id:7dbb05d0-e411-4e5e-965f-005b66b23564][DDD]].
Компоненты:
- [[id:b907e9f5-97f1-45a5-bbd9-7ed36718fe75][SonataAdmin]]
- [[id:e1b70298-5a02-45c4-be3b-47be053c546b][Doctrine]]
- Alice (Fixtures)
https://symfonycasts.com/screencast/alice-fixtures/fixtures
** Понятия
- Action
- Admin
Админка Sonata Admin
- Command
Команды CLI утилиты
- Controller
Контроллеры. Входная часть приложения по URL
- DTO
Data Transfer Object. Классы, хранящие только данные
- DataPersister
- DataTransformer/Api
- Doctrine
- Entity
Сущности, они же модели
- Enum
Тип данных перечисление
- EventListener
- EventSubscriber
- Exception
Тип данных исключение
- Filter
- Form
Формы
- Generator
- Message
- MessageBus
- MessageHandler
- Migrations
Миграции
- Repository Репозиторий. Нужен, чтобы оперировать над группо
Entity. Типо "выбрать все сущности статьи", "выбрать определённые
сущности статьи".
- Resizer
- Security
- Serializer
- Service Сервисы. То что по сути не подходит в остальные
папки. Функции утилиты.
- Twig/Extension
** Дебаг
Существует Symfony Profiler (полосочка снизу).
Можно использовать в контроллерах функции ~dump~ и ~dd~ (dump and die) для
вывода нужных нам переменных.
** *Обучающие материалы*:
- [[https://www.youtube.com/channel/UCeJmv3YIHb0UrHUbJ23wADA][Symfoniacs]] (канал на Youtube)
*** Видео
- [[https://youtube.com/watch?v=Bo0guUbL5uo][Symfony PHP Framework Tutorial - Full Course by FreeCodeCamp]]
- [[https://youtu.be/_ESXXCboy8E][Symfony: Dependency Injection]]
- [[https://thomasberends.github.io/symfony-certification-preparation-list/][Symfony Certification Preparation List]]
** Статьи
- [[https://100.org.ua/%D0%BD%D0%B5%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BE-symfony/][Немного о Symfony [RU]]]
-
** Люди
- [[https://fabien.potencier.org/][Fabien]]
** Недостатки
- Twig имеет питоновский синтаксис и сильно отличается от PHP, когда как
Jinja и подобные шаблонизатора в Python (Twig был от разработчика
Jinja) выглядят естественно для языка
- [[id:2dca6571-39e7-4566-abc6-616877149260][YAML-driven-development]]
Веб-ресурсы:
- [[https://www.reddit.com/r/symfony/top/?t=all][Reddit]]
** Видео
- [[https://www.youtube.com/@GaryClarkeTech/playlists][Gary Clarke]] (много видео про PHP и Symfony)
- Symfony DDD: https://youtu.be/rkQ3-T82pkU
** Статьи
- [[https://symfony.com/doc/current/create_framework/http_foundation.html][Создание фреймворка на базе Symfony]]
|