1. Go to this page and download the library: Download icanboogie/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/ */
icanboogie / routing example snippets
namespace ICanBoogie\HTTP;
/* @var ResponderProvider $responder_provider */
// The request is usually created from the $_SERVER super global.
$request = Request::from($_SERVER);
// The Responder Provider matches a request with a Responder
$responder = $responder_provider->responder_for_request($request);
// The Responder responds to the request with a Response, it might also throw an exception.
$response = $responder->respond($request);
// The response is sent to the client.
$response();
namespace ICanBoogie\Routing;
use ICanBoogie\HTTP\RequestMethod;
use ICanBoogie\Routing\RouteProvider\ByAction;
use ICanBoogie\Routing\RouteProvider\ByUri;
/* @var RouteProvider $routes */
$routes->route_for_predicate(new ByAction('articles:show'));
$routes->route_for_predicate(new ByUri('/articles/123', RequestMethod::METHOD_GET));
$routes->route_for_predicate(fn(Route $route) => $route->action === 'articles:show');
use ICanBoogie\HTTP\Request;
use ICanBoogie\HTTP\RequestMethod;
use ICanBoogie\HTTP\Responder;
use ICanBoogie\Routing\RouteProvider;
$routes = new RouteProvider\Immutable([
new Route('/articles/<id:\d+>', 'articles:delete', RequestMethod::METHOD_DELETE)
]);
$request = Request::from([
Request::OPTION_URI => "/articles/123",
Request::OPTION_METHOD => RequestMethod::METHOD_DELETE,
]);
/* @var Responder $responder */
$response = $responder->respond($request);
namespace App\Modules\Articles\Routing;
use ICanBoogie\HTTP\Request;
use ICanBoogie\Routing\Controller;
class DeleteController extends Controller
{
protected function action(Request $request)
{
// Your code goes here and should return a string or a Response instance
}
}
use ICanBoogie\Routing\ControllerAbstract;
use ICanBoogie\Routing\Controller\ActionTrait;
final class ArticleController extends ControllerAbstract
{
use ActionTrait;
private function list(): string
{
// …
}
private function show(): string
{
// …
}
}
try
{
// …
}
catch (\ICanBoogie\Routing\Exception $e)
{
// a routing exception
}
catch (\Exception $e)
{
// another type of exception
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.