| Version 14 (modified by , 14 years ago) ( diff ) |
|---|
Environnement Symfony
Symfony a été installé dans /htdocs2/vm-web-2/pspa/Symfony qui est l'espace accessible au serveur Apache.
Installation d'un bundle
En terminologie Symfony, tout développement se présente comme un bundle (librairies, ressources, ...)
La documentation pour démarrer est ici. On y apprend comment installer un bundle minimal. J'ai donc créé ce bundle minimal Hello dans l'espace de nom PSPA, installé dans un dossier framework
J'ai donc utilisé la commande Unix:
(en étant connecté ssh sur la machine vm-web-2) > cd /htdocs2/vm-web-2/pspa > php Symfony/app/console ... Usage: generate:bundle [--namespace="..."] [--dir="..."] [--bundle-name="..."] [--format="..."] [--structure] Options: --namespace The namespace of the bundle to create --dir The directory where to create the bundle --bundle-name The optional bundle name --format Use the format for configuration files (php, xml, yml, or annotation) (default: annotation) --structure Whether to generate the whole directory structure Pour notre cas: php Symfony/app/console generate:bundle --namespace=PSPA/HelloBundle --dir=framework --format=yml
L'aide de cette command est visible ici
Cette commande crée le bundle et la structure de directory associée sous le dossier framework
/htdocs2/vm-web-2/pspa/framework/PSPA/HelloBundle/...
Mais afin de faire reconnaître cet espace, plusieurs déclarations dans les fichiers de configuration de Symfony ont été faites automatiquement par la commande précédente:
- Dans le fichier
Symfony/app/autoload.php:17: 'PSPA' => __DIR__.'/../../framework'
- Dans le fichier
Symfony/app/AppKernel.php20: new PSPA\HelloBundle\PSPAHelloBundle(),
- Dans le fichier
Symfony/app/config/routing.ymlPSPAHelloBundle: resource: "@PSPAHelloBundle/Resources/config/routing.yml" prefix: /
Le résultat est accessible à l'adresse: http://vm-web-2.lal.in2p3.fr/pspa/test.php
Le code généré automatiquement pour ce bundle Hello
Voici la structure de directories construite par Symfony, qui respecte ses propres conventions:
|-- Controller
| `-- DefaultController.php
|-- DependencyInjection
| |-- Configuration.php
| `-- PSPAHelloExtension.php
|-- PSPAHelloBundle.php
|-- Resources
| |-- config
| | |-- routing.yml
| | `-- services.yml
| |-- doc
| | `-- index.rst
| |-- public
| | |-- css
| | |-- images
| | `-- js
| |-- translations
| | `-- messages.fr.xliff
| `-- views
| `-- Default
| |-- index.html.twig
| `-- index.html.twig~
`-- Tests
`-- Controller
`-- DefaultControllerTest.php
A priori, le bundle est fonctionnel, tel quel.
Ce module est lancé par via votre navigateur, à l'adresse http://vm-web-2.lal.in2p3.fr/pspa/test.php
est capable de recevoir
On peut modifier l'apparence de la sortie
![(please configure the [header_logo] section in trac.ini)](/PSPA/chrome/site/pspa.gif)