- Создание нового проекта:
composer create-project symfony/website-skeleton symfony_simple_example
-
Запуск встроенного сервера:
php -S localhost:8000 -t public
-
создан тестовый роут в файле: config/routes.yaml
-
создан тестовый обработчик в файле: src/Controller/TestApiController.php
- Установил на Ubuntu Symfony CLI
Жизненный цикл запроса в Symfony.
-
Описана начальная структура проекта Symfony.
-
Написал простую консольную команду.
-
Добавлен .env в .gitignore
- Если файл .env уже был закоммичен ранее, Git продолжит отслеживать его изменения. Чтобы полностью удалить его из отслеживания, выполните следующую команду:
git rm --cached .env
php bin/console doctrine:migrations:migrate
php bin/console doctrine:migrations:migrate prev
-
Созданы: Миграция, Сущность, Репозитотрий, Команда консольная для создания поста.
-
Добавлен контроллер для обработки http-запроса. Создание поста.
-
Добавлены методы: вернуть все посты, обновление поста, удаление поста.
-
Создал форму PostType, для валидации входящих данных.
-
Создана сущность Категория + таблица. Категория привязана к Посту. Данные категории будут подтягиваться вместе с постом, если пост имеет категорию. Создан PostValidator, для валидации входящих данных.
-
Обновил метод обновления Поста, с учетом того, что Пост может иметь Категорию.
-
Добавил комментарий по связи двух Сущностей.
-
Добавление тегов с Постом.
Созданы таблицы tags, tags_to_post,
- Описание создания тегов с постом:
при создании поста, если с клиента в json содержится имя тега:
- создаётся тег в таблице tags
- следом привязка тега к посту в tags_to_post
- Механизм обновления существующих тегов у поста, при обновлении поста.
Механизм обновления тегов обеспечивает добавление новых и удаление отсутствующих тегов у поста, основываясь на данных из запроса при обновлении поста.
Основные шаги включают получение списка тегов из запроса, проверку существующих тегов, добавление новых тегов и удаление отсутствующих тегов в теле запроса.