PHP code example of phower / router

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

    

phower / router example snippets


use Phower\Router\Route;

$route = new Route('home', '/');

use Phower\Router\Route;

$route = new Route('some-name', '/some/path/:id[/:name]');

use Phower\Router\Route;

$route = new Route('some-name', '/some/path/:id[/:name]', ['id' => '\d+']);

use Phower\Router\Route;

$route = new Route('some-name', '/some/path/:id[/:name]', ['id' => '\d+'], [
    'name' => 'Phower', // default value for name argument
    'type' => 'route',  // aditional value attached to this Route
]);

use Phower\Router\Route;

$route = new Route('some-name', '/some/path/:id[/:name]', ['id' => '\d+'], [
    'name' => 'Phower', // default value for name argument
    'type' => 'route',  // aditional value attached to this Route
], 'POST');

use Phower\Router\Route;

$route = Route::factory([
    'name' = > 'some-name',
    'definition' = > '/some/path/:id[/:name]',
    'constraints' = > [
        'id' => '\d+',
    ],
    'defaults' = > [
        'name' => 'Phower',
        'type' => 'route',
    ], 
    'methods' = > 'POST',
]);

use Phower\Router\Route;

$route = Route::factory([
    'name' = > 'some-name',
    'definition' = > '/some/path/:id[/:name]',
    'constraints' = > [
        'id' => '\d+',
    ],
    'defaults' = > [
        'name' => 'Phower',
        'type' => 'route',
    ], 
    'methods' = > 'POST',
]);

$url = $route->assemble([
    'id' => 123,
    'name' => 'my-name',
]);
// $url equals to: "/some/path/123/my-name"

use Phower\Router\Router;
use Phower\Router\Route;

$router = new Router([
    new Route('home', '/'),
    [
        'name' => 'page',
        'definition' => '/page',
    ],
]);

use Phower\Router\Router;
use Phower\Router\Route;

$router = new Router([
    new Route('home', '/'),
    [
        'name' => 'page',
        'definition' => '/page',
    ],
]);

/* @var $request \Psr\Http\Message\RequestInterface */
if ($router->match($request)) {
    $matchedRoute = $router->getMatched();
}

use Phower\Router\Router;
use Phower\Router\Route;

$router = new Router([
    new Route('home', '/'),
    new Route('profiles', '/profiles'),
    new Route('profile', '/profiles/:id'),
]);

$url = $router->assemble('profiles', ['id' => 123]);
// $url equals to: "/profiles/123"
POST