Empezando con Symfony

Correr servidor:

php bin/console server:run

Si venimos de un repositorio, por ejemplo github, lo primero es ejecutar composer:

composer update

Crear proyecto:

composer create-project symfony/website-skeleton my-project

Para instalarnos un avisador de posibles problemas de seguridad con las dependencias instaladas, tenemos «Security Checker»

composer require sensiolabs/security-checker --dev

Para crear un controller:

 php bin/console make:controller

Para crear una entidad:

 php bin/console make:entity

Para saber las rutas disponibles:

php bin/console debug:router

Datos

en src/Entity creamos las distintas clases de entidades.
Una vez creadas, hay que informar a Doctrine para que cree el schema (NO CORRER ESTE COMANDO EN PRODUCCIÓN):

php bin/console doctrine:schema:create

Para actualizarlo según mas entidades que tengamos:

php bin/console doctrine:schema:update --force

Los parámetros de conexión a la base de datos los ponemos en .env

Si nos encontramos con el error:
«SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes»
Suele ser problemas de versiones de Mysql, se suele solucionar cambiando utf8mb4 a utf8 en configure/packages/doctrine.yaml


Traducciones

Para la traducción de cadenas, es muy útil este artículo:
https://www.rebeccapurple.es/desarrollo-web/internacionalizacion-symfony-4/

Para ponerle el /en o /es por defecto, y no tener que hacerlo método a método como dice Rebecca, en el archivo /config/routes/annotations.yaml

controllers:
    resource: ../../src/Controller/
    type: annotation
    prefix: /{_locale}
    defaults:
        _locale: '%locale%'

Si necesitamos consultar la traducción de algún atributo de una entidad, por ejemplo desde un controller, usaremos el método translate():

$miEntidad->translate('es')->getName();