Benutzer-Werkzeuge

Webseiten-Werkzeuge


devel:symfony

Symfony

Initialization

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

Configuration

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

Code Generation

# 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

devel/symfony.txt · Zuletzt geändert: 2023/04/04 15:55 von jodoc