public function testParams() { $_SERVER['REQUEST_URI'] = '/xpto/actionName/param1/param2'; $_SERVER['REQUEST_METHOD'] = 'TEST'; $_SERVER['QUERY_STRING'] = 'foo=1&bar=2'; $request = new \Simple\Request\HTTP($_SERVER, $_REQUEST, $_FILES); $routes = \Simple\Config\PHP::getScope('routes'); $router = new \Simple\Request\Router($routes); $resourcesFromRoute = $router->getResourcesByRequest($request); $this->assertEquals('http://phpunit.test/xpto/actionName/param1/param2', $request->getURL()); $this->assertEquals(array('param1', 'param2', 'foo' => 1, 'bar' => 2), $request->getParams()); }
public function parseRouter() { if (!isset($this->resource['configFilenameRoutes'])) { throw new \Exception("@configFilenameRoutes property is not defined in middleware definitions!", 1); } if (is_null($this->_request)) { throw new \Exception("Request is not defined, try before call parseRequest", 1); } $routes = \Simple\Config\PHP::getScope($this->resource['configFilenameRoutes']); $router = new \Simple\Request\Router($routes); $this->_resources = $router->getResourcesByRequest($this->_request, 1); }
public function testMiddlewares() { $_SERVER['REQUEST_URI'] = '/admin/controller/function'; $_SERVER['REQUEST_METHOD'] = 'TEST'; $_SERVER['QUERY_STRING'] = 'foo=1&bar=2'; $request = new \Simple\Request\HTTP($_SERVER, $_REQUEST, $_FILES); $routes = \Simple\Config\PHP::getScope('routesesource'); $router = new \Simple\Request\Router($routes); $resources = array(array('namespace' => '\\Simple\\Middleware\\View', 'class' => 'Cache', 'function' => 'open', 'id' => 'Simple.middleware.view.cache.open'), array('namespace' => '\\Frontend\\Middleware', 'class' => 'Flash', 'function' => 'openFlash', 'id' => 'front.mid.flash.open')); $resourcesFromRoute = $router->getResourcesByRequest($request); $arrayDiff = $this->_array_diff_multidimensional($resources, $resourcesFromRoute); $this->assertTrue(empty($arrayDiff)); }
<?php error_reporting(-1); ini_set("display_errors", 1); //open autoloader $loader = (require __DIR__ . '/../vendor/autoload.php'); //set default Config directory, where find config files \Simple\Config\PHP::setPath(__DIR__ . '/../Config/'); //get midlewares definitions $middlewaresRoutes = \Simple\Config\PHP::getScope('middlewares'); //Create Router $router = new \Simple\Request\Router($middlewaresRoutes); //Ho middlewares running by request? $middlewaresFromRouter = $router->getResourcesByURI($_SERVER['REQUEST_URI']); //create backbone application $applicationBackbone = new \Simple\Application\Backbone(\Simple\Config\PHP::getScope('bootstrap')); $applicationBackbone->runResources($middlewaresFromRouter);