afedafc2a2
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
46 lines
1.4 KiB
PHP
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;
|
|
}
|
|
}
|
|
}
|
|
} |