wiki:Symfony

Version 14 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Christian Arnault/emailAddress=arnault@…, 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.php
    20:            new PSPA\HelloBundle\PSPAHelloBundle(),
    
  • Dans le fichier Symfony/app/config/routing.yml
    PSPAHelloBundle:
        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

Note: See TracWiki for help on using the wiki.