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