コード例 #1
0
ファイル: Http.php プロジェクト: ignaszak/cms
 /**
  *
  * @return boolean
  */
 public function isAdmin() : bool
 {
     return (bool) preg_match('/^admin[a-zA-Z0-9_-]*/', $this->router->name());
 }
コード例 #2
0
ファイル: index.php プロジェクト: ignaszak/router
$route->add('defined', '/regex/@alpha/{id}')->tokens(['id' => '@digit']);
// Add default route
$route->add('default', '/@base')->controller('DefaultController');
// Not found
$route->add('error', '/@notfound')->attach(function () {
    throw new Exception('404 Not Found');
});
// Define custom regular expression. It will be avilable for all routes
$route->addPatterns(['day' => '([0-9]{2})', 'month' => '([0-9]{2})', 'year' => '([0-9]{4})']);
$route->add(null, '/@year/@month/@day/');
// Get response
$matcher = new Matcher($route);
// Start parsing
// Matcher::match([Host $host [, string $baseQuery [, string HttpMethod]])
$host = new Host();
$response = new Response($matcher->match($host));
// Class Ignaszak\Router\Host([string $baseQuery])
// provides current request and http method
// $baseQuery argument defines folder via site is avilable:
// http://fullSite.com/Adress => $baseQuery = /Adress (without slash on end)
// It is possible to define custom request and http method:
// $matcher->match(null, '/customRequest', 'GET');
// Display response
// Display matched params
echo 'Routes:<pre>';
print_r($response->all());
echo '</pre>';
// Get concrete param
echo $response->get('token');
// Get route name
echo 'Route name: ';