PHP code example of alirezasalehizadeh / routail

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

    

alirezasalehizadeh / routail example snippets


use AlirezaSalehizadeh\Routail\Router;

$router = new Router();

$router->get(string $pattern, string|array|Closure $action)
  ->name(string $name)
  ->prefix(string $prefix)
  ->middleware(array $middlewares);

$router->run();


use AlirezaSalehizadeh\Routail\Router;

$router = new Router();

$router->group(Closure $action, array $middlewares, string $prefix);

$router->run();


use AlirezaSalehizadeh\Routail\Request;
use AlirezaSalehizadeh\Routail\Middleware\Middleware;

class FooMiddleware extends Middleware
{
    public function handle(Request $request): bool
    {
        return true;
    }
}


use AlirezaSalehizadeh\Routail\Router;

$router = new Router();

$router->get('/users/{id}', 'UserController@show')->name('user_show');

$router->url('user_show', ['id' => '1']);

// output: /users/1

use AlirezaSalehizadeh\Routail\Router;

$router = new Router();

$router->get('/users', 'UserController@index');

$router->any('/users', [UserController::class, 'index']);

// route pattern with parameter
$router->get('/users/{id}', 'UserController@show');

// route pattern with parameter and type
$router->get('/users/{id:int}', function($id){
  return "User id is $id";
});

// route pattern with optional parameter
$router->get('/users/{id:int?}', function($id = 1){
  return "User id is $id";
});

// set name for route
$router->get('/users/{id}', 'UserController@index')->name('user_index');

// set prefix for route
$router->get('/users/{id}', 'UserController@index')->prefix('/api/v1');

// set middleware for route
$router->get('/users/{id}', 'UserController@index')->middleware([FooMiddleware::class, BarMiddleware::class]);

// route group
$router->group(function($router){
  $router->get('/users', 'UserController@index');
  $router->get('/users/{id}', 'UserController@show');
}, [FooMiddleware::class, BarMiddleware::class], '/api/v1');