Самые часто используемые команды в консоли Symfony
Работа с миграциями
Сгенерировать миграции после создания сущностей
php bin/console make:migration
Приведение миграций
php bin/console doctrine:migrations:diff
создаётся миграция для сравнения вашей схемы со схемой в базе данных. При выполнении данной миграции оба варианта будут приведены.
Выполнить миграции
php bin/console doctrine:migrations:migrate
Выполнить конкретную миграцию
php bin/console doctrine:migrations:execute [migration_number]
где [migration_number] - номер миграции. Подробнее о миграциях хорошо написано тут: http://fkn.ktu10.com/?q=node/9470
Откатить последнюю миграцию
php bin/console doctrine:migrations:migrate prev
Работа с бандлами
Посмотреть список сервисов
php bin/console debug:autowiring
Посмотреть список бандлов(пакетов), которые можно настраивать
php bin/console config:dump
Настройки конкретного бандла
php bin/console config:dump [alias]
где [alias]
- алиас бандла
Активные настройки конкретного бандла
php bin/console debug:config [alias]
где [alias]
- алиас бандла
Работа с сервисами
Посмотреть список сервисов
php bin/console debug:container
Посмотреть данные о конкретном сервисе
php bin/console debug:container App\Service\TestService
Список тех сервисов, которые мы можем использовать в проекте
php bin/console debug:autowiring
Создать БД в соответствии с настройками
php bin/console doctrine:database:create
Cоздать контроллер
php bin/console make:controller [controller_name]
где [controller_name] - это название контроллера, например PostsController.
Посмотреть текущие роуты
php bin/console debug:router
Информация о текущем проекте
php bin/console about
Создать новую сущность
php bin/console make:entity [entity_name]
где [entity_name] - это название модели, например Posts.
Создать CRUD для сущности
php bin/console make:crud [entity_name]
где [entity_name] - это название модели, например Posts.
Создать фикстуру
php bin/console make:fixtures
Запустить фикстуры
php bin/console doctrine:fixtures:load
Почистить кэш
php bin/console cache:clear
Создать форму
php bin/console make:form
В Symfony каждая форма принадлежит конкретной сущности, что даёт нам удобство её обработки. Формы, как и многое другое во фреймворке, можно создавать через консоль. Название формы должно состоять из названия сущности и слова Type (т.е. PostType, UserType и т.д.).
Генерация файлов с помощью Webpack
./node_modules/.bin/encore dev --watch
Перед началом работы
Для того, чтобы не приходилось каждый раз определять маршруты в config/routes.yml
нужно установить пакет annotations
через composer.
composer require annotations
После этого маршрут для каждого контроллера можно прописывать в параметре @Route
каждого конструктора. Например:
class PostsController extends AbstractController { /** * @Route("/posts", name="posts") * @return Response */ public function index(): Response { return $this->render('posts/index.html.twig', [ 'controller_name' => 'PostsController', ]); } }
Результат выполнения соответственно можно будет посмотреть по адресу /posts
Работа со схемами
Валидация БД файлам с mapping-ом
php bin/console doctrine:schema:validate
Полезные ссылки
Курсы по которым я изучаю симфони: