SAND-framework/data/docs/05. Le conduit Symfony.md

53 lines
1.5 KiB
Markdown
Raw Normal View History

2021-02-10 11:18:10 +01:00
#Le conduit Symfony
>Le conduit est une nouveautée de l'application, celle permet de réaliser
un controlleur similaire a Symfony qui est dénomé ici Conduit car il prend
en paramètre une route défini dans le fichier routing.yml.
Cette fonctionnalité permet de choisir la route indépendamment du moteur.
Elle est utlie aussi pour créer des appels Curl et Ajax.
il faut instancier le fichier `application/config/files/routing.yml`
avec la route de base et les routes que vous voulez conduire, par exemple:
```yml
home_route:
path: /
defaults: { controller: 'FooController::indexAction' }
foo_route:
path: /foo
defaults: { controller: 'FooConduit::index' }
foo_placeholder_route:
path: /foo/{id}
defaults: { controller: 'FooConduit::load' }
requirements:
id: '[0-9]+'
```
et définir le Conduit correspondant avec les méthodes correspondantes dans le dossier `application/include/conduits`, ici:
```php
<?php
use MVC\Classe\Implement\Conduit;
class FooConduit extends Conduit
{
// Route('/foo')
public function index()
{
echo "blob of foo";
return $this->render('foo', array('page_title' => 'Foo', 'description' => 'FooConduit'));
}
// Route('/foo/{id}')
public function load()
{
echo "load of foo";
return $this->render('foo', array('page_title' => 'Foo', 'description' => 'FooConduit', 'id' => $this->id));
}
}
```
Vous remarquerez que les variables passé en GET sont obtenu dans le conduit par `$this->varname`.