summaryrefslogtreecommitdiff
path: root/content/digarden/20210615202918-symfony.org
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]]