Introduction
Dans cette article nous allons voir comment créer un bundle avec symfony 2.7 en utilisant le console ( invite de commande ) et aussi nous allons créer notre propre page.
Création d'un Bundle
pour créer un Bundle nous allons suivre les étapes suivants :
- Ouvrir une fenêtre de commande sous le répertoire de votre projet ( shift + clic droite ) pour moi c'est Test2symfony C:\wamp\www\Test2symfony.
- Pour consulter la liste des commandes il suffit de taper php app/console et la commande que nous allons utilisé pour créer notre Bundle c'est :
php app/console generate:bundle - Dans Bundle namespace nous allons mettre Nom_du_Site/NomBundle
le mot Bundle à la fin c'est obligatoire avec B en majuscule, pour moi je vais mettre
Bundle namespace: Monsite/TestBundle - Bundle name : TestBundle
- Target directory : nous allons vu dans un article précédent que le code source de notre application vas être implémenter sous répertoire src donc cliquez sur Entrer.
- Configuration format: vous pouvez choisir entre 4 configuration possible
<< xml, yml, php, annotation >> je vous conseille de choisir YML c'est la meilleur configuration. - Pour le reste des étapes taper Yes jusqu’à la fin.
- Maintenant vérifier le dossier SRC vous allez trouver un dossier Monsite et dans ce dossier vous trouvez TestBundle
Création une première page
La création d'une nouvelle page dans symfony2 est un simple processus de trois étapes.
Etape 1: Création de la route
Le fichier de configuration de routage de notre TestBundle est situé à : Src/MonSite/TestBundle/resources/config/routing.yml
page1:
path: /firstpage
defaults: { _controller: TestBundle:First:page }
1ère ligne : page1 c'est le nom de la page ou aussi identifiant car deux page ne peuvent pas avoirs le même nom.
ème ligne : /firstpage c'est le route il définit l'URL à votre page.
3ème ligne : c'est là où nous allons spécifier le nom du fonction à exécuter page elle doit être déclare dans FirstController du notre Bundle TesTbundle
Etape 2: Créer le contrôleur
Quand l'URL /firstpage est gérée par l'application, la route firstpage est apparié et le contrôleur TestBundle:First:page est exécuté par le framework. La deuxième étape du processus de création de la page est de créer ce contrôleur
Le contrôleur TestBundle:First:page est le nom logique du contrôleur, et elle correspond à la méthode pageAction de la classe PHP appelé Monsite\TestBundle\Controller\First. Commencez par créer ce fichier à l'intérieur de votre TestBundle:
Créer la méthode pageAction que Symfony va exécuter quand l'URL est firstpage:
Créer la méthode pageAction que Symfony va exécuter quand l'URL est firstpage:
namespace Monsite\TestBundle\Controller; use Symfony\Component\HttpFoundation\Response; class FirstController {
return $this->render('TestBundle:First:premier.html.twig');
}
Etape 3 : Créer le modèle
le contrôleur rend le TestBundle:First:premier.html.twig, qui utilise la convention de dénomination suivante :BundleName:ControllerName:TemplateName
il s'agit du nom logique du model qui est associé à un emplacement physique en utilisant la convention suivante.
/Resources/views /ControllerName/templateName
Dans ce cas, TestBundle est le nom du bundle , First est le contrôleur , et premier.html.twig le template.
{# src/Monsite/TestBundle/Resources/views/First/premier.html.twig #} Bonjour c'est ma première page avec symfony2
Voici le vidéo de l'exemple :
Merci pour Votre Attention.