<?php use Hoa\Router; $router = new Router\Http(); $router->get('home', '/')->get('page', '/(?<pathname>[\\w\\d\\-_]+)')->get('post', '/p/(?<pathname>[\\w\\d\\-_]+)')->_get('_resource', '/(?<resource>)'); return $router;
// Fichier de config require_once 'config.php'; // Le script va afficher du français if (PHP_OS == 'Linux') { setlocale(LC_ALL, 'fr_FR.UTF-8'); } else { setlocale(LC_ALL, 'French'); } // Déclaration des NS utilisés use Hoa\Core; use Hoa\Dispatcher; use Hoa\Router; // Activation des erreurs Core::enableErrorHandler(); Core::enableExceptionHandler(); // Mise en place du dispatcher $dispatcher = new Dispatcher\ClassMethod(['synchronous.call' => 'Application\\Controller\\(:call:U:)', 'asynchronous.able' => '(:%synchronous.able:)']); // Connection à la base de donnée Hoa\Database\Dal::initializeParameters(array('connection.list.default.dal' => Hoa\Database\Dal::PDO, 'connection.list.default.dsn' => SQL_DNS, 'connection.list.default.username' => SQL_USER, 'connection.list.default.password' => SQL_PWD, 'connection.list.default.options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"), 'connection.autoload' => 'default')); // Utilisation d'un Kit personnalisé $dispatcher->setKitName('Application\\Dispatcher\\Kit'); $router = new Router\Http(); // Déclaration des routes $router->get('Home', '/', 'Index', 'Index')->post('Login', '/', 'Index', 'Login')->get('Logout', '/Logout', 'Index', 'Logout'); // Here we go ! try { $dispatcher->dispatch($router); } catch (Hoa\Dispatcher\Exception $e) { echo $e->getMessage(); //echo 'Page Introuvable'; }
<?php use Hoa\Router; $router = new Router\Http(); $router->get('c', '(?<vendor>)/(?<chapter>)\\.html')->get('hack', '(?<chapter>)\\.html')->get('full', '/(?<vendor>)/(?<chapter>)\\.html')->_get('literature', 'http://hoa-project.net/Literature\\.html')->_get('learn', 'http://hoa-project.net/Literature/Learn/(?<chapter>)\\.html')->get('_resource', 'http://static.hoa-project.net/(?<resource>)')->_get('central_resource', 'http://central.hoa-project.net/Resource/(?<path>)')->_get('board', 'https://waffle.io/hoaproject/(?<repository>)')->_get('git', 'http://git.hoa-project.net/(?<repository>).git/')->_get('github', 'https://github.com/hoaproject/(?<repository>)')->_get('research', 'http://hoa-project.net/Literature/Research/(?<article>[\\w\\d]+)\\.pdf', 'Literature\\Research')->_get('event', 'http://hoa-project.net/Event/(?<event>\\w+)\\.html', 'Generic')->_get('keynote', 'http://keynote.hoa-project.net/(?<keynote>)');