miskynscze / freerouter
FreeRouter where the easy routing begins the pain ends.
Installs: 46
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/miskynscze/freerouter
Requires (Dev)
- codeception/module-asserts: ^1.0.0
- codeception/module-phpbrowser: ^1.0.0
This package is auto-updated.
Last update: 2024-09-29 05:43:07 UTC
README
Painless routing for your PHP 8+ project with REST support.
Installation (Still WIP)
composer require miskynscze/freerouter
Example (Basic)
#[Controller] class ClassController implements IRouter { #[Request("/")] #[Method(RequestMethod::GET)] public function home(): string { return "Hello, world!"; } } //Getting RouterConfig $config = new RouterConfig(); $router = new RouterWrapper(); //Running RouterWrapper $router->config($config)->run(new ClassController());
It will return
Hello, world!
Example (Basic + parameters)
#[Controller] class ClassController implements IRouter { #[Request("/page/{id}")] #[Method(RequestMethod::GET)] public function page(string $id): string { return "You are on page ($id)"; } }
It will also return a string, but with parameters! For example for URL /page/10
You are on page 10
Example (REST)
#[RestController] class ClassController implements IRouter { #[Request("/user/{id}")] #[Method(RequestMethod::GET)] public function user(string $id): string { return [ "id" => $id, "name" => "Test" ]; } }
It will return (for example /user/1)
{"id": 1, "name": "Test"}
Different request methods
GET, POST, PUT, DELETE