Pour vérifier si votre environnement est compatible, rendez-vous à l'adresse suivante :
Pour ajouter la variable à Windows
http://localhost/Symfony/web/config.php
.http://localhost/Symfony/web/app_dev.php
Pour ajouter la variable à Windows
- Allez dans les paramètres système avancés (
Démarrer > Panneau de configuration > Système et sécurité > Système > Paramètres système avancés
) ; - Cliquez sur le bouton
Variables d'environnement…
; - Regardez dans le panneau
Variables système
; - Trouvez l'entrée
Path
(vous devriez avoir à faire descendre l'ascenseur pour le trouver) ; - Double-cliquez sur l'entrée
Path
; - Entrez votre répertoire PHP à la fin, sans oublier le point-virgule ";" auparavant. C'est le répertoire dans lequel se trouve le fichier
php.exe
. Par exemple;C:\wamp\bin\php\php5.5.12
; - Confirmez en cliquant sur
OK
. Vous devez ensuite redémarrer l'invite de commandes pour prendre en compte les changements.L'architecture des fichiers
app :
Ce répertoire contient tout ce qui concerne votre site Internet… sauf son code source.src :
le répertoire dans lequel on mettra le code sourcevendor :
Ce répertoire contient toutes les bibliothèques externes à notre application.web :
Ce répertoire contient tous les fichiers destinés à vos visiteurs : images, fichiers CSS et JavaScript, etc. , c'est le seul répertoire qui devrait être accessible à nos visiteurs.L'environnement
-
L'environnement de développement, appelé « dev », accessible en utilisant le contrôleur frontal
app_dev.php
. C'est l'environnement que l'on utilisera toujours pour développer.http://localhost/Symfony/web/app_dev.php
-
L'environnement de production, appelé « prod », accessible en utilisant le contrôleur frontal
app.php
.http://localhost/Symfony/web/app.php
-
L'environnement de développement, appelé « dev », accessible en utilisant le contrôleur frontal
Parcours d'une requête dans Symfony2
La structure d'un bundle ( src/Acme/DemoBundle/ )
/Controller | Contient vos contrôleurs
/DependencyInjection | Contient des informations sur votre bundle (chargement automatique de la configuration par exemple)
/Entity | Contient vos modèles
/Form | Contient vos éventuels formulaires
/Resources
-- /config | Contient les fichiers de configuration de votre bundle (nous placerons les routes ici, par exemple)
-- /public | Contient les fichiers publics de votre bundle : fichiers CSS et JavaScript, images, etc.
-- /views | Contient les vues de notre bundle, les templates Twig
Utilisation de la console
C:\wamp\www\Symfony>php app/console Symfony
exécutez la commande php app/console generate:bundle.( Pour créer un Bundle )
Nous allons nommer notre namespace « OC\PlatformBundle ». Explications :
- « OC » est le namespace racine : il vous représente vous ou votre entreprise. Vous pouvez mettre votre pseudo, le nom de votre site, celui de votre entreprise, etc. C'est un nom arbitraire. J'utiliserai OC pour OpenClassrooms ;
- « Platform » est le nom du bundle en lui-même : il définit ce que fait le bundle. Ici, nous créons une plateforme d'échange, nous l'avons donc simplement appelé « Platform » ;
- « Bundle » est le suffixe obligatoire.Entrez donc dans la console
OC/PlatformBundle
,appuyez donc simplement sur EntréeNous allons utiliser le YAML (yml
)Symfony2 vous demande si vous voulez générer juste le minimum ou une structure plus complète pour le bundle :Nous n'avons pas besoin de tout générer ici, appuyez donc sur Entrée pour dire non.Pour toutes les questions suivantes, confirmez en appuyant sur Entrée à chaque fois.Tout d'abord, je vous réserve une petite surprise : allez voir surhttp://localhost/Symfony/web/app_dev.php/hello/younes
! Le bundle est déjà opérationnel ! Le code-exemple généré affiche le texte passé dans l'URL, vous pouvez donc également essayer ceci :http://localhost/Symfony/web/app_dev.php/hello/younes
.Mais pourquoi n'y a-t-il plus la toolbar en bas de la page ?{# src/OC/PlatformBundle/Resources/views/Default/index.html.twig #}
<html>
<body>
Hello {{ name }}!
</body>
</html>À retenir
Ce qu'il faut retenir de tout cela, c'est que pour qu'un bundle soit opérationnel, il faut : - Son code source, situé dans
src/Application/Bundle
, et dont le seul fichier obligatoire est la classe à la racineOCPlatformBundle.php
; - Enregistrer le bundle dans le noyau pour qu'il soit chargé, en modifiant le fichier
app/AppKernel.php
; - Enregistrer les routes (si le bundle en contient) dans le Routeur pour qu'elles soient chargées, en modifiant le fichier
app/config/routing.yml
.
Ces
trois points sont bien sûr effectués automatiquement lorsqu'on utilise
le générateur. Mais vous pouvez tout à fait créer un bundle sans
l'utiliser, et il faudra alors remplir cette petite checklist manuellement.
Commentaires
Enregistrer un commentaire