Symfony : Création d’un formulaire

La puissance de Symfony est sans limite. Symfony vous fourni les outils nécessaires à création automatique de formulaires.

Ici serons listé quelques aide mémoires, les type disponibles, les méthodes à utiliser etc… Les sources sont disponnibles pour avoir plus de détails sur la création de formulaires.

Liste des type disponnibles :

Texte

Choix

Date et temps

Divers

Multiple

Caché

text
textarea
email
integer
money
number
password
percent
search
url

choice
entity
country
language
locale
timezone

date
datetime
time
birthday

checkbox
file
radio

collection
repeated

hidden
csrf

Sources :
http://openclassrooms.com/courses/developpez-votre-site-web-avec-le-framework-symfony2/creer-des-formulaires-avec-symfony2

http://symfony.com/fr/doc/current/book/forms.html
http://zestedesavoir.com/tutoriels/324/developpez-votre-site-web-avec-le-framework-symfony2/396/allons-plus-loin-avec-symfony2/2002/creer-des-formulaires-avec-symfony2/
 

 

Commandes utiles pour Symfony 2.X

Lister les commandes disponibles

php app/console list

Installation de Composer

curl -sS https://getcomposer.org/installer | php

Installation des dépendances du projet

php composer.phar install

Ou mise à jour

php composer.phar update

Nettoyer le cache de Symfony

php app/console cache:clear --env=dev 
php app/console cache:clear --env=prod

Génération des entités Doctrine

php app/console doctrine:generate:entities MonBundle

Création de la base de données

php app/console doctrine:database:create

Création du Schéma de base de données

php app/console doctrin:schema:create

Mise à jour (en dev uniquement) du schéma de base de données

php app/console doctrin:schema:update –force

Chargement des fixtures (Jeux de données de tests) en base de données

php app/console doctrine:fixtures:load

Installation des asset (ressources publiques telles que les css ou les images)

php app/console assets:install web

Export des routes pour le bundle FOSJsRoutingBundle

php app/console fos:js-routing:dump

Résoudre l’erreur « A template that extends another one cannot have a body » avec TWIG

Je travaille sur la conception d’un site Web à titre personnel, basé sur le framework Symphony. Mes connaissances en PHP restent pour le moment assez scolaires et je débute avec ce framework que je trouve très intéressant. Conjointement à Symphony j’utilise son moteur de template par défaut : Twig.

J’ai été confronté à l’erreur suivante :

A template that extends another one cannot have a body

Je disposais d’un template parent et d’un template fils qui étend ce template. A première vue, aucune erreur de visible sauf que l’en fouillant un peu… Le template fils commençait par un commentaire HTML <!– –> !

A savoir qu’un template étendu ne doit pas avoir de code HTML (body) en dehors d’un bloc {% bloc XXXX %} surchargé.

Maintenant je sais 😉

Matomo encountered an error: Uncaught Error: Class "Piwik\Plugins\CustomVariables\CustomVariables" not found in /var/www/piwik/core/Tracker/TrackerCodeGenerator.php:98 Stack trace: #0 /var/www/piwik/plugins/SitesManager/API.php(159): Piwik\Tracker\TrackerCodeGenerator->generate() #1 [internal function]: Piwik\Plugins\SitesManager\API->getJavascriptTag() #2 /var/www/piwik/core/API/Proxy.php(255): call_user_func_array() #3 /var/www/piwik/core/Context.php(28): Piwik\API\Proxy->Piwik\API\{closure}() #4 /var/www/piwik/core/API/Proxy.php(158): Piwik\Context::executeWithQueryParameters() #5 /var/www/piwik/core/API/Request.php(272): Piwik\API\Proxy->call() #6 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(46): Piwik\API\Request->process() #7 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request/Php.php(18): WP_Piwik\Request\Php->call() #8 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/Request.php(63): WP_Piwik\Request\Php->request() #9 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(1038): WP_Piwik\Request->perform() #10 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(1205): WP_Piwik->request() #11 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik/TrackingCode.php(16): WP_Piwik->updateTrackingCode() #12 /var/www/thegtricks/wp-content/plugins/wp-piwik/classes/WP_Piwik.php(296): WP_Piwik\TrackingCode->__construct() #13 /var/www/thegtricks/wp-includes/class-wp-hook.php(324): WP_Piwik->addJavascriptCode() #14 /var/www/thegtricks/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #15 /var/www/thegtricks/wp-includes/plugin.php(517): WP_Hook->do_action() #16 /var/www/thegtricks/wp-includes/general-template.php(3068): do_action() #17 /var/www/thegtricks/wp-content/themes/twentyfifteen-child/footer.php(45): wp_footer() #18 /var/www/thegtricks/wp-includes/template.php(790): require_once('...') #19 /var/www/thegtricks/wp-includes/template.php(725): load_template() #20 /var/www/thegtricks/wp-includes/general-template.php(92): locate_template() #21 /var/www/thegtricks/wp-content/themes/twentyfifteen/archive.php(68): get_footer() #22 /var/www/thegtricks/wp-includes/template-loader.php(106): include('...') #23 /var/www/thegtricks/wp-blog-header.php(19): require_once('...') #24 /var/www/thegtricks/index.php(17): require('...') #25 {main} thrown (which lead to: Session must be started before any output has been sent to the browser; output started in /var/www/thegtricks/wp-includes/script-loader.php/2925)