PHP code example of horizom / routing

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

    

horizom / routing example snippets




declare(strict_types=1);

use Horizom\Routing\RouterFactory;
use Nyholm\Psr7\ServerRequest;
use Psr\Container\ContainerInterface;

$container = /* PSR-11 container */;

$router = (new RouterFactory())->create($container);

$router->get('/users/{id}', App\Http\Controllers\UserController::class . '@show');

$request = new ServerRequest('GET', '/users/42');
$response = $router->getRouter()->handle($request);

$router->get('/health', App\Http\Controllers\HealthController::class . '@show');
$router->post('/users', App\Http\Controllers\UserController::class . '@store');
$router->map(['GET', 'POST'], '/search', App\Http\Controllers\SearchController::class . '@handle');
$router->any('/webhook', App\Http\Controllers\WebhookController::class . '@handle');

$router->group([
    'prefix' => '/api',
    'namespace' => 'App\\Http\\Controllers\\Api\\',
    'middleware' => ['auth'],
    'attributes' => ['version' => 'v1'],
], function ($router): void {
    $router->get('/users', 'UserController@index');
    $router->get('/users/{id}', 'UserController@show');
});

$router->resource('/posts', App\Http\Controllers\PostController::class);

$router->resource('/posts', App\Http\Controllers\PostController::class, [
    'only' => ['index', 'show'],
]);

$router->resource('/posts', App\Http\Controllers\PostController::class, [
    'except' => ['destroy'],
]);

$router->resources([
    '/posts' => App\Http\Controllers\PostController::class,
    '/comments' => App\Http\Controllers\CommentController::class,
]);

$router->redirect('/old-path', '/new-path');
$router->redirectPermanently('/legacy', '/canonical');

$router = (new RouterFactory())->create($container);

use Horizom\Routing\RouterLazyFactory;

$router = (new RouterLazyFactory())->create($container);