public function setUp() { $this->route = Route::start(); }
<?php use Ignaszak\Router\Collection\Route; use Ignaszak\Router\Host; use Ignaszak\Router\UrlGenerator; use Ignaszak\Router\Matcher\Matcher; use Ignaszak\Router\Response; include __DIR__ . '/vendor/autoload.php'; // Create Router instance to collect routes $route = Route::start(); // Add new route // First parameter: name (is not required but if is defined // it must be unique for each defined routes). // Second: pattern // Third: http method (it is possible to compine all http methods e.g.: // 'GET|POST', not required, if is empty - route match for all methods) $route->add('test', '/test/(\\w+)/', 'GET'); // There are two more add methods: $route->get('get', '/match/only/get'); $route->post('post', '/match/only/post'); // Add tokens $route->add(null, '/tokens/{token1}/{token2}/')->tokens(['token1' => '(\\w+)', 'token2' => '(\\d+)']); // It is possible to define global token avilable for all routes. $route->addTokens(['slug' => '(\\w+)', 'user' => '(\\w+)', 'page' => '(\\d+)']); // Define default values for global tokens $route->addDefaults(['user' => 'Demo']); // Add controller $route->add('user', '/user/{user}/')->controller('UserController'); // Define controller from route $route->add(null, '/test/{controller}/{action}')->controller('\\Namespace\\{controller}::{action}')->tokens(['controller' => '([a-zA-Z]+)', 'action' => '([a-zA-Z]+)']); // Add attachment