Chargement...

Gestion des routes avec PHP symfony


Le routage

Le routage permet d'associer une adresse et une action. Reprenons le cas du Hello World que nous avons vu dans le chapitre précédent.

Le cas des annotations

Si vous avez choisi une configuration par annotation, ouvez le fichier suivant:

/src/engel/AwesomeBundle/Controller/DefaultController.php
class DefaultController extends Controller
{
    /**
     * @Route("/hello/{name}")
     * @Template()
     */
    public function indexAction($name)
    {
        return array('name' => $name);
    }
}

La partie en gris clair indique que la fonction présente doit être exécutée si l'adresse /hello/{name} est appellée.

La configuration avec YML

Cette solution crée des fichiers supplémentaires, je l'a trouve moins efficace mais vous allez la rencontrer un jour ou l'autre:

Ouvrons ce fichier routing.yml : (dans notre cas /src/engel/AwesomeBundle/Resources/config/routing.yml)

    engel_awesome_homepage:
    path:     /hello/{name}
    defaults: { _controller: ENGELAwesomeBundle:Default:index }

Si vous n'avez jamais vu un fichier yml ne vous affolez pas la syntaxe est très simple, elle se comprend instinctivement.

Que nous dit ce fichier? il donne un nom à notre routage (engel_awesome_homepage) il définit l'adresse et la fonction à executer.




UNE QUESTION SUR L'ARTICLE?


CSSW Apprendre à créer son site web CSSW