function bootstrap(RespectMapper $mapper, RespectRouter $router, RespectContainer $config) { Model\Model::setConn($mapper); $router->any('/**', 'Application\\Helper\\Mvc\\Router'); /** * Seta o retorno de todas as rotas como resposta em JSON; */ $rotas[''] = $router->always('Accept', array('application/json' => function ($data) { header('Content-type: application/json'); if (v::string()->validate($data)) { $data = array($data); } return json_encode($data, true); })); /** * Rota caso ocorra algum erro */ $router->errorRoute(function ($e) { var_dump($e); }); /** * Rota caso ocorra alguma excessão */ $router->exceptionRoute(function ($e) { var_dump($e); }); /** * Rotas Configuradas pelo config.ini */ if (empty($config->routes)) { return; } foreach ($config->routes as $route) { $url = $route->url; $class_controller = $route->controller; $params = isset($route->params) ? $route->params : array(); $router->get($url, $class_controller, $params); } }
<?php require "database.php"; error_reporting(E_ALL); ini_set('display_errors', 'on'); set_time_limit(0); use Respect\Rest\Router; $router = new Router(); $router->get('/', function () { require "views/default.php"; }); $router->any('/devs/*', '\\Beeblebrox3\\DevShop\\Controllers\\Devs'); $router->any('/cart', '\\Beeblebrox3\\DevShop\\Controllers\\Cart'); $router->post('/cart/apply-cupom', function () { $controller = new \Beeblebrox3\DevShop\Controllers\Cart(); $controller->applyCupom(); }); $router->post('/cart/buy/', function () { $controller = new Beeblebrox3\DevShop\Controllers\Cart(); $controller->buy(); }); $router->delete('/cart/*', '\\Beeblebrox3\\DevShop\\Controllers\\Cart'); $router->post('/config', function () { $controller = new Beeblebrox3\DevShop\Controllers\Config(); $controller->import(); }); $router->exceptionRoute('InvalidArgumentException', function (InvalidArgumentException $e) { return 'Sorry, this error happened: ' . $e->getMessage(); }); $router->errorRoute(function ($a = null) { print_r($a);
<?php require_once '../tests/bootstrap.php'; use Respect\Rest\Router; $r3 = new Router(); $r3->any('/**', function ($url) { return 'Welcome to Respect/Rest the url you want is: /' . implode('/', $url); });
public function testNamesRoutesUsingAttributes() { $router = new Router(); $router->allMembers = $router->any('/members', 'John, Carl'); $response = (string) $router->dispatch('GET', '/members')->response(); $this->assertTrue(isset($router->allMembers), 'There must be an attribute set for that key'); $this->assertEquals('John, Carl', $response, 'The route must be declared anyway'); }
<?php // error_reporting(0); use Respect\Rest\Router; use Icecave\SemVer\Version; $packageRoot = dirname(__DIR__); $matches = array(); if (preg_match('{^(.*)/vendor/.+/.+$}', $packageRoot, $matches)) { require $matches[1] . '/vendor/autoload.php'; } else { require $packageRoot . '/vendor/autoload.php'; } if (basename($_SERVER['SCRIPT_NAME']) == basename($_SERVER['SCRIPT_FILENAME']) and ($basedir = dirname($_SERVER['SCRIPT_NAME'])) != "/") { $router = new Router($basedir); } else { $router = new Router(); } // $router->exceptionRoute('InvalidArgumentException', function (InvalidArgumentException $e) { // return '[InvalidArgumentException] Sorry, this error happened: '.$e->getMessage(); // }); $router->exceptionRoute('\\Exception', function (Exception $e) { return '[Exception] Sorry, this error happened: ' . $e->getMessage(); }); $router->get('/js/**', function ($jsPath) { return readfile(__DIR__ . '/js/' . $jsPath[0]); }); $router->any('/**', 'Koshatul\\HAProxyWeb\\HTML\\v1_0_0\\Stats');
/** * @covers Respect\Rest\Router::applyVirtualHost * @covers Respect\Rest\Router::appendRoute */ public function testCreateUriShouldBeAwareOfVirtualHost() { $router = new Router('/my/virtual/host'); $catsRoute = $router->any('/cats/*', 'Meow'); $virtualHostUri = $catsRoute->createUri('mittens'); $this->assertEquals('/my/virtual/host/cats/mittens', $virtualHostUri, 'Virtual host should be prepended to the path on createUri()'); }