SAND-framework/data/blog/conduit.md
Emmanuel ROY 82420d80b2 Ajout des fichiers CGU et Policy pour Hybrid Auth
Ajout d'une fonctionnalité simple oublié
Ajout d'un fichiers de documentation en markdown

TODO: créé les pages de blog (sommaire,news) permettant d'afficher les fichiers md
TODO: créer les commandes complétement
TODO: envoyer les bugs wordpress
TODO: corriger le bug de création de la base de donnée pour prestashop
2020-02-01 11:41:01 +01:00

51 lines
1.4 KiB
Markdown

# Le conduit
>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.
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));
}
}
```