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

1.4 KiB

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:

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


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));

    }
}