PHP code example of webiik / router

1. Go to this page and download the library: Download webiik/router library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

webiik / router example snippets


$router = new \Webiik\Router\Router();

// Set base URI
$router->setBaseURI(dirname($_SERVER['SCRIPT_NAME']));

// Add route(s)
$router->addRoute(['get'], '/', 'Home:run', 'home-page');

// Check if current URI matches some route
$route = $router->match();

if ($router->getHttpCode() == 200) {
    // 200 - OK
    $route->getLang(); // en
    $route->getName(); // home-page
    $route->getController(); // ['Home', 'run']   
} elseif ($router->getHttpCode() == 405) {
    // 405 - Method Not Allowed
} elseif ($router->getHttpCode() == 404) {
    // 404 - Not Found
}

setBaseURI(string $baseURI): void

$router->setBaseURI(dirname($_SERVER['SCRIPT_NAME']));

setDefaultLang(string $defaultLang): void

$router->setDefaultLang('en');

setDefaultLangInURI(bool $defaultLangInURI): void

$router->setDefaultLangInURI(true);

addRoute(array $methods, string $route, string $controller, string $name = '', string $lang = ''): NewRoute

// Add route
$router->addRoute(['get'], '/', 'Home:run');

// Add route with more http methods
$router->addRoute(['get', 'post'], '/contact', 'Contact:run');

// Add named route
$router->addRoute(['get'], '/', 'Home:run', 'home-page');

// Add named route in specific language 
$router->addRoute(['get'], '/', 'Home:run', 'home-page', 'en');

// Add route with route middleware
$router->addRoute(['get'], '/', 'Home:run')->mw('Class:method');

// Add case sensitive route
$router->addRoute(['get'], '/CaMeL', 'Camel:run')->sensitive();

// To add routes with route parameters use regex groups.
// Every regex group represents one route parameter.

// Add route with 

match(): Route

$route = $router->match();

getHttpCode(): int

$route = $router->match();
$httpCode = $router->getHttpCode();
if ($httpCode == 200) {
    // 200 OK
} elseif ($httpCode == 405) {
    // 405 Method Not Allowed
} elseif ($httpCode == 404) {
    // 404 Not Found
}

getBaseURL(): string

$baseUrl = $router->getBaseURL();

getURI(string $routeName, array $parameters = [], string $lang = ''): string

$route->getURI();

getURL(string $routeName, array $parameters = [], string $lang = ''): string

$route->getURL();

getMissingParameters(): array

$route->getMissingParameters();

getRegexParameters(string $routeName, string $lang = '')

$route->getRegexParameters();

getController(): array

$route->getController();

getName(): string

$route->getName();

getLang(): string

$route->getLang();

getMw(): array

$route->getMw();

getParameters(): array

$route->getParameters();