/Router

HTTP Route Manager for MVC Projects

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Total Downloads Latest Stable Version License

@MárriosDev

Marrios/Router

HTTP Route Manager for MVC Projects


Guide

Starting

0 - Installing

composer require marrios/router

1 - Using functions

   
use Marrios\Router\HttpRouter;

$router = new HttpRouter();

// Set route
$router->get("/helloworld", [function(){ echo "Hello World!";}])->run();
$router->notFound();

When accessing the /helloworld route

   Hello World!

2 - Using Controllers

use App\Controllers\TesteController;

use Marrios\Router\HttpRouter;

$router = new HttpRouter();

// Set route
$router->post("/helloworld", [TesteController::class, "helloWorld"])->run();
$router->notFound();

When accessing the /helloworld route

   Hello World!

Parameters

Using dynamic parameters

Dynamic parameters are defined using curly braces { }

* Note: When defining a dynamic route, you must add a parameter to the callback function or in the controller method


Follow the example below using CallBack:

use Marrios\Router\HttpRouter;

$router = new HttpRouter();

// Set route
$router->post("/blog/{category}/{id_post}", [ function($param){ echo $param->category;}])->run();
$router->notFound();

When accessing the /blog/video/1323 route

   video

Follow the example below using Controller:

use Marrios\Router\HttpRouter;

$router = new HttpRouter();

// Instantiating the route object
$router = new Router();

// Set route
$router->get("/blog/{category}/{id_post}", [TesteController::class, "helloWorld"])->run();
$router->notFound();

Your controller should look like this

class TesteController
{
    public function helloWorld($param)
    {
        echo $param->id_post;
    }
}

When accessing the /blog/video/1323 route

   1323