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\projetphp app/console –sNote :
- 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-updateNote :
- 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-bundleNote :
- Mets à jour les dépendances du : composer.json
- La 2e ligne permet de mettre à jour qu’une seule dépendance
- Utiliser
--prefer-sourceen cas de problèmes
Commandes Symfony2
Créer un Bundle
php app/console generate:bundleNote :
- 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:debugLister les commandes disponibles
php app/console listNettoyer le cache
php app/console cache:clearNote :
- 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:debugCommandes Doctrine
Générer une entité
php app/console generate:doctrine:entityNote :
- 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:ProductNote :
- il faut pointer vers le bundle
Générer les tables de la BDD
php app/console doctrine:schema:createNote : il faut que la base soit existante.
Mettre à jour la BDD
php app/console doctrine:schema:update --dump-sqlphp app/console doctrine:schema:update –-forceNote : --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:ProductSupprimer le contenu de la BDD (purge)
php app/console doctrine:schema:drop --forceGénérer le CRUD d’une entité (+vues, routes et form)
php app/console generate:doctrine:crudNote :
- 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/ormphp app/console doctrine:mapping:import "MyApplicationMyBundle" ymlphp app/console doctrine:generate:entities "MyApplicationMyBundle"Note :
- Infos : http://wiki.nekland.fr/index.php/Symfony_2:_app/console
- Il faut obligatoirement une clé primaire dans la table
FOSUserBundle
Création d’utilisateurs
php app/console fos:user:createPromouvoir un utilisateur
php app/console fos:user:promote testuser ROLE_ADMINAbout the author
Hey, I'm Maxence Poutord, a passionate software engineer. In my day-to-day job, I'm working as a senior front-end engineer at Orderfox. When I'm not working, you can find me travelling the world or cooking.
Follow me on BlueskyRecommended posts
1. Split your application into completely isolated modules. 2. Consider micro-frontends architecture. 3. Don't put everything in the Vuex Store
I've been maintaining a massive Vue.js codebase for the last 3 years. Here are 9 lessons I've learned along the way.