SAND-framework/application/class/Dispacher.php
Emmanuel ROY afedafc2a2 ajout d'un routage Symfony sur une classe contenu dans les include avec la création de la classe Conduit permettant de rendre un page conduite par la route Symfony, ajout de la class asynchonous permettant d'injecter du js et du css
TODO: finir la class asynchonous et tester cette version de dev sur un vrai serveur appartenant à la TT+

TODO: ajouter les modules gestionMedia gestionMenu gestionPage (gestionBackendCms)

FIXME: appel curl ou fopen d'une methode http depuis une action ou un controlleur.

TODO: sécuriser les accès HTTP1.1 par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
 -->Sécuriser le serveur de dev
2019-12-05 14:05:38 +01:00

46 lines
1.4 KiB
PHP

<?php
namespace MVC\Classe;
use Symfony\Component\Config\FileLocator as FileLocator;
use Symfony\Component\Routing\Matcher\UrlMatcher as UrlMatcher;
use Symfony\Component\Routing\RequestContext as RequestContext;
use Symfony\Component\Routing\Loader\YamlFileLoader as YamlFileLoader;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
class Dispacher
{
public $route;
public function __construct()
{
echo $_SERVER['REQUEST_URI'];
//Avoid callback from empty homepage
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '') {
$this->route = NULL;
} else {
//Test the route from config file
try {
//load config file
$fileLocator = new FileLocator(array(CONFIG_PATH . DIRECTORY_SEPARATOR . 'files'));
$loader = new YamlFileLoader($fileLocator);
$routes = $loader->load('routing.yml');
//create context
$context = new RequestContext('/');
$matcher = new UrlMatcher($routes, $context);
// Find the current route
$parameters = $matcher->match($_SERVER['REQUEST_URI']);
$this->route = $parameters;
} catch (ResourceNotFoundException $e) {
$this->route = NULL;
}
}
}
}