df2f1e1cf5
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
55 lines
1.6 KiB
PHP
55 lines
1.6 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;
|
|
|
|
require APPLICATION_PATH . DIRECTORY_SEPARATOR . "parameters.php";
|
|
|
|
class Application
|
|
{
|
|
public $http;
|
|
public $url;
|
|
public $browser;
|
|
|
|
|
|
public function __construct(){
|
|
$this->http = new HttpMethod();
|
|
$this->browser = new Browser();
|
|
$this->url = new Url($this->http->method, $this->browser->isAppRequest());
|
|
}
|
|
|
|
public function launch(){
|
|
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']);
|
|
|
|
echo '<pre>';
|
|
print_r($parameters);
|
|
die();
|
|
} catch (ResourceNotFoundException $e) {
|
|
echo $e->getMessage();
|
|
}
|
|
|
|
$controlleur = new Controlleur($this);
|
|
//si la page n'est un controlleur d'action alors on affiche l'écran
|
|
if(!$this->url->page['control']) {
|
|
print($controlleur->vue->ecran);
|
|
}
|
|
}
|
|
|
|
}
|