Самые часто используемые команды в консоли 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

Полезные ссылки

Курсы по которым я изучаю симфони:

Тэги:

Тэг в списке: