symfony new projectname [--webapp] # create new project cd projectname composer req templates # install twig composer req debug # install debug tools composer req symfony/asset # asset() function (TBC if useful) composer req symfony/orm-pack composer req --dev symfony/maker-bundle # some tools to generate assets
Create docker-compose.yml to contain mariadb and (optionally) adminer and set db connect string in environment file .env (see below)
# start docker db docker compose up -d # ensure db exists ./bin/console doctrine:database:create --if-not-exists
# create entity ./bin/console make:entity User # ... # crea db stuff ./bin/console make:migration ./bin/console doctrine:migrations:migrate # now the crud part # add a couple of make:crud dependencies composer req form validator security-csrf annotations # get rid of deprecated stuff (does not work...) # composer remove sensio/framework-extra-bundle # now create controller etc. ./bin/console make:crud User # start up server symfony server:start -d # and go to /user/ in browser
later…
composer recipes # update all recipes
docker-compose.yml
version: '3'
services:
db:
image: mariadb:latest
volumes:
- ./data/mariadb:/var/lib/mysql
ports:
- 3306:3306
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: adminpwd
MARIADB_DATABASE: sft
MARIADB_USER: sft
MARIADB_PASSWORD: sft
adminer:
image: adminer
restart: always
ports:
- 8080:8080
.env:
DATABASE_URL="mysql://sft:sft@127.0.0.1:3306/sft?serverVersion=mariadb-10.11.2"
— Jonas Rathert 2023/03/23 10:48