コード例 #1
0
ファイル: RequestTest.php プロジェクト: stvkoch/simple
 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());
 }
コード例 #2
0
ファイル: Request.php プロジェクト: stvkoch/simple
 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);
 }
コード例 #3
0
ファイル: RouterTest.php プロジェクト: stvkoch/simple
 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));
 }
コード例 #4
0
ファイル: index.php プロジェクト: stvkoch/simple-example
<?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);