composer create-project symfony/skeleton books-test-php
Install dev web server:
composer require server --dev
Run server in foreground:
php bin/console server:run
Run server in background:
php bin/console server:start
Stop daemonized server:
php bin/console server:stop
composer require profiler
Установим поддержку аннотаций:
composer require annotations
Будем использовать их, хотя в прописывании марштрутов в отдельном файле
config/routes.yaml
есть свои плюсы (не надо рыскать по всему коду в поисках маршрутов).
Так же потребуется генератор кода:
composer require maker
Теперь можно нагеренить контроллер:
php bin/console make:controller DefaultController
Заготовка контроллера будет создана в каталоге src/Controller
.
composer require doctrine
После этого можно прописать в .env
корректную строку доступа к БД.
В нашем случае это sqlite:
DATABASE_URL="sqlite:///%kernel.project_dir%/var/books.db"
Теперь можно создать БД:
php bin/console doctrine:database:create
Или грохнуть её, если не нужна больше:
php bin/console doctrine:database:drop --force
Полезно почитать про аннотации doctrine.
Сгенерировать шаблон сущности можно командой:
php bin/console make:entity Author
аналогично создаём сущность для книг.
После можно создать миграцию:
php bin/console make:migration
и применить её:
php bin/console doctrine:migrations:migrate
composer require twig
https://symfony.com.ua/doc/current/forms.html
composer require form