perritu / router
Simple -yet powerfull- PHP Router
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2024-06-08 19:19:53 UTC
README
A lightweight, simple, yet powerfull routing library for PHP.
Features
- Supports for
DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
andPUT
request verbs. - Routing shortcuts.
Router::DELETE()
,Router::GET()
,Router::HEAD()
, etc.
- Static and dynamic PCRE-based routing.
- Custom
Path
and/orHTTP-Method
call override. - Use of
Path\to\public@method
callback. - Array to API responses.
- Subrouting / route prefixes.
- Subnamespace / namespace prefixes.
Requirements
Perritu/Router can run just fine out-of-the-box (even without Composer).
The best way to implement is, of course, through composer, yet, it can be implemented without it.
All you need is PHP 8.1 or greater and any URL rewriting technique.
Installation.
There are 2 ways of install.
- Using composer. (Recomended)
composer require perritu/router
- Direct download.
- Downlad and place the
Router.php
file outside your publicly accessible directory, so any call must be performed throug your code flow. - Do a
require_once
import from your code flow.
require_once(PROJECT_ROOT .'/include/perritu/router.php');
- Downlad and place the
Usage
Once imported, do a use
statement to start using the router, then, start with
your routing definitions.
Bare example:
// Require statement require_once('../vendor/autoload.php'); // Or router.php if not using composer. use Perritu\Router\Router as R; R::MATCH(R::ANY, '.*', function(){ if(R::IsApi()) return ['Hello world!']; echo '<h1>Hello world!</h1>'; }, R::E_PREG);
You can read the documentation in the DOCS.
External links.
Codacy: https://app.codacy.com/gh/Perritu/Router/dashboard
Packagist: https://packagist.org/packages/perritu/router
FOSSA: https://app.fossa.com/projects/git%2Bgithub.com%2FPerritu%2FRouter?ref=badge_large