Mon premier Bundle Symfony2

Il existe 2 methodes pour la création d’un bundle:

1- Creation depuis composer:

php app/console generate:bundle --format=yml

 

2- Création du bundle en important uen base de donnée:

  • Vous devez créer un une base de donnée au préalable, j’utilise le logiciel SQLWorkbench afin de mettre en place ma structure de base de données.
  • Une fois votre schéma construit il suffit de l’importer dans symfony2:
  • php app/console doctrine:mapping:convert --from-database yml ./src/<nom_namespace>/<nom_bundle>/Resources/config/doctrine/metadata/orm
    php app/console doctrine:mapping:import "<namespacebundlename>" yml
    php app/console doctrine:generate:entities "<namespacebundlename>"

3- Génération du CRUD

Le CRUD permet de générer les pages d’action pour vos entités (formulaires):

  • php app/console generate:doctrine:crud

Mon premier site sous symfony2

Voici comment installer le framework symfony2 en version 2.3 (sous un serveur debian):

1- Pré-requis:

  • ACL: apt-get install acl
  • Curl: apt-get install curl
  • Composer:
    • curl -s https://getcomposer.org/installer | php
    • mv composer.phar /usr/local/bin/composer

2- Création du projet Symfony2 + bundle:

  • Installation de symfony2:
    composer create-project symfony/framework-standard-edition <my_project_name>/2.3
  • Ajout d’un bundle:
    php app/console generate:bundle --format=yml
    • Permission d’ecriture sur les fichiers:
      • ps aux | grep httpd
      • rm -rf app/cache/* && rm -rf app/logs/*
      • [NEED ACL ACTIVATED]
        setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
        setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

/!\ UNLOCK your IP on config.php and app_dev.php
/!\ TEST HELLO/name page –> If you have white page is probably an APC cache issue, restart APACHE service and check rights