PHP code example of sutija / php-router

1. Go to this page and download the library: Download sutija/php-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/ */

    

sutija / php-router example snippets



$router = \Sutija\Router\Router::getInstance();

$routeArticles = new \Sutija\Router\Route();

$routeArticles
->setRoute('/articles/:alias')
->setAllowedMethods(['GET'])
->setCallback(function() use ($router) {
    // Get alias from route
    $alias = $router->getRouteData()->getData('alias');
    // Do something...
});

$router->addRoute($routeArticles);

$router->resolve();


class ArticlesController {
    public function resolve() {
        $alias = \Sutija\Router\Router::getInstance()->getRouteData()->getData('alias');
        // Do something...
    }
    
    public function resolveGet() {
        $alias = \Sutija\Router\Router::getInstance()->getRouteData()->getData('alias');
        $otherParam = \Sutija\Router\Router::getInstance()->getRouteData()->getData('other_param');
        // Do something...
    }
}

$router = \Sutija\Router\Router::getInstance();

$routeArticles = new \Sutija\Router\Route();

$routeArticles
->setRoute('/articles/:alias/something/:other_param')
->setAllowedMethods(['GET', 'POST'])
->setCallback(new ArticlesController());

$router->addRoute($routeArticles);

$router->resolve();


class ArticlesController {
    public static function resolveGet() {
        $alias = \Sutija\Router\Router::getInstance()
        ->getRouteData()
        ->getData('alias');
        // Do something...
    }
    
    public static function resolvePost() {
        $alias = \Sutija\Router\Router::getInstance()
        ->getRouteData()
        ->getData('alias');
        // Do something...
    }
}

$router = \Sutija\Router\Router::getInstance();

$routeArticles = new \Sutija\Router\Route();

$routeArticles
->setRoute('/articles/:alias')
->setAllowedMethods(['GET', 'POST'])
->setCallback(ArticlesController::class);

$router->addRoute($routeArticles);

$router->resolve();

// GET /articles/rainbow/?colors=10&height=20
$queryParams = \Sutija\Router\Router::getInstance()->getRouteData()->getQueryParams();
// [color => 10, height => 20]

echo \Sutija\Router\Router::getInstance()->getRouteData()->getQueryParam('colors');
// 10