Mémo - Commandes Symfony2

Liste des commandes console utilisées lors du développement d’un projet sous Symfony2

Maxence Poutord
2 min read
Cover for Mémo - Commandes Symfony2

Prérequis

Il faut que la console point sur le répertoire du projet. La commande php app/console –s permet de ne plus écrire « php app/console ». Il est donc possible de créer un fichier .bat composé de la sorte :

cd c:\wamp\www\projet
php app/console –s

Note :

  • Parfois les commandes ne marchent pas très bien. Repasser en console classique ou relancer le bat.

Commandes Composer

Rappel

Composer trouve les bibliothèques sur packagelist.org.

Mettre à jour composer

php composer.phar self-update

Note :

  • il faut pointer vers le fichier composer.phar (utiliser la navigation si besoin est)
  • Pour obtenir la version de composer : php composer.phar —version

Mettre à jour les dépendances

php ../composer.phar update`
php ../composer.phar update stof/doctrine-extensions-bundle

Note :

  • Mets à jour les dépendances du : composer.json
  • La 2e ligne permet de mettre à jour qu’une seule dépendance
  • Utiliser --prefer-source en cas de problèmes

Commandes Symfony2

Créer un Bundle

php app/console generate:bundle

Note :

  • leNameSpace/nombundleBundle
  • le suffixe Bundle est obligatoire
  • utiliser le format yml
  • écrire yes pour générer la structure

Afficher les routes

php app/console router:debug

Lister les commandes disponibles

php app/console list

Nettoyer le cache

php app/console cache:clear

Note :

  • Si l’environnement est en prod : --env=prod
  • Préférez tout de même l’utilisation du plugin Clean de Grunt.

Lister les services

php app/console container:debug

Commandes Doctrine

Générer une entité

php app/console generate:doctrine:entity

Note :

  • utiliser les annotations (par défaut)
  • mettre yes quand pour générer le repository
  • Field Type : String, text, date (date, datetime, time), integer (integer, smallint, bigint), decimal, float, boolean, array, object.

Générer les getter/setter d’une entité

php app/console doctrine:generate:entities AcmeStoreBundle:Product

Note :

  • il faut pointer vers le bundle

Générer les tables de la BDD

php app/console doctrine:schema:create

Note : il faut que la base soit existante.

Mettre à jour la BDD

php app/console doctrine:schema:update --dump-sql
php app/console doctrine:schema:update –-force

Note : --dump-sql pour voir le code sql et --force pour l’exécuter

Générer un formulaire

php app/console doctrine:generate:form AcmeStoreBundle:Product

Supprimer le contenu de la BDD (purge)

php app/console doctrine:schema:drop --force

Générer le CRUD d’une entité (+vues, routes et form)

php app/console generate:doctrine:crud

Note :

  • Pour sélectionner l’entity : NamespacenomBundle : nomEntity
  • Générer le write action : yes
  • Format : yml
  • Si l’entity a été modifiée, supprimer les répertoires/fichiers suivants :
    • Répertoire de vues : views/nomEntity
    • Form/nomEntityType.php
    • Controller : nomEntityController.php ou utiliser l’extension --overwrite
  • Information supplémentaires
  • Penser à rajouter la route principale de l’entity dans le routing.yml du bundle (les 3 lignes de routage sont écrites dans la console)

Générer des entités à partir d’une base de données :

php app/console doctrine:mapping:convert --from-database yml src/MyApplication/MyBundle/Resources/config/doctrine/metadata/orm
php app/console doctrine:mapping:import "MyApplicationMyBundle" yml
php app/console doctrine:generate:entities "MyApplicationMyBundle"

Note :

FOSUserBundle

Création d’utilisateurs

php app/console fos:user:create

Promouvoir un utilisateur

php app/console fos:user:promote testuser ROLE_ADMIN
Maxence Poutord

Written by

Maxence Poutord

Hey, I'm Maxence Poutord, a senior software engineer at Orderfox. I'm also an indie hacker behind Pedalyze and YoutubeMate. When I'm not shipping, you can find me cooking, cycling or running. I'm also on Twitter, Bluesky, GitHub, and LinkedIn.

Keep reading

Recommended posts