| Next revision | Previous revision |
| scriptlog:lib:core:apirouter [2026/09/26 09:09] – admin admin | scriptlog:lib:core:apirouter [2026/09/26 09:34] (current) – admin admin |
|---|
| ======= Docblock Metadata ======= | ======= Docblock Metadata ======= |
| |
| ^ Tag ^ Value ^ | ^ Tag ^ Value ^ |
| | ''@category'' | Core Class | | | ''@category'' | Core Class | |
| | ''@author'' | Blogware Team | | | ''@author'' | Blogware Team | |
| | ''@license'' | MIT | | | ''@license'' | MIT | |
| | ''@version'' | 1.0 | | | ''@version'' | 1.0 | |
| | ''@since'' | Since Release 1.0 | | | ''@since'' | Since Release 1.0 | |
| |
| ======= Inheritance ======= | ======= Inheritance ======= |
| ======= Constants (1) ======= | ======= Constants (1) ======= |
| |
| ^ Visibility ^ Name ^ Value ^ Line ^ | ^ Visibility ^ Name ^ Value ^ Line ^ |
| | ''-'' | ''CHUNK_SIZE'' | ''10;'' | 46 | | | ''-'' | ''CHUNK_SIZE'' | ''10;'' | 46 | |
| |
| ======= Properties (4) ======= | ======= Properties (4) ======= |
| |
| ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ | ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ |
| | ''private'' | ''(untyped)'' | ''$routes'' | ''[];'' | 26 | | | ''private'' | ''(untyped)'' | ''$routes'' | ''[]'' | 26 | |
| | ''private'' | ''(untyped)'' | ''$params'' | ''[];'' | 31 | | | ''private'' | ''(untyped)'' | ''$params'' | ''[]'' | 31 | |
| | ''private'' | ''(untyped)'' | ''$allowedMethods'' | ''['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'QUERY'];'' | 36 | | | ''private'' | ''(untyped)'' | ''$allowedMethods'' | ''['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'QUERY']'' | 36 | |
| | ''private'' | ''(untyped)'' | ''$compiled'' | ''null;'' | 41 | | | ''private'' | ''(untyped)'' | ''$compiled'' | ''null'' | 41 | |
| |
| ======= Methods (14) ======= | ======= Methods (14) ======= |
| |
| ^ Visibility ^ Method ^ Summary ^ Line ^ | ^ Visibility ^ Method ^ Summary ^ Line ^ |
| | public | ''get()'' | Register a GET route | 55 | | | public | ''get()'' | Register a GET route | 55 | |
| | public | ''post()'' | Register a POST route | 67 | | | public | ''post()'' | Register a POST route | 67 | |
| | public | ''put()'' | Register a PUT route | 79 | | | public | ''put()'' | Register a PUT route | 79 | |
| | public | ''patch()'' | Register a PATCH route | 91 | | | public | ''patch()'' | Register a PATCH route | 91 | |
| | public | ''delete()'' | Register a DELETE route | 103 | | | public | ''delete()'' | Register a DELETE route | 103 | |
| | public | ''query()'' | Register a QUERY route (RFC 10008) | 118 | | | public | ''query()'' | Register a QUERY route (RFC 10008) | 118 | |
| | public | ''any()'' | Register a route for any HTTP method | 131 | | | public | ''any()'' | Register a route for any HTTP method | 131 | |
| | private | ''addRoute()'' | Add a route to the routing table | 144 | | | private | ''addRoute()'' | Add a route to the routing table | 144 | |
| | private | ''convertToRegex()'' | Convert route pattern to regex | 163 | | | private | ''convertToRegex()'' | Convert route pattern to regex | 163 | |
| | public | ''dispatch()'' | Dispatch the request to the appropriate controller | 188 | | | public | ''dispatch()'' | Dispatch the request to the appropriate controller | 188 | |
| | private | ''matchRoute()'' | Match the request URI to a route using combined-regex dispatch. | 281 | | | private | ''matchRoute()'' | Match the request URI to a route using combined-regex dispatch. | 281 | |
| | private | ''compileRoutes()'' | Compile all routes for a given HTTP method into combined regex chunks. | 333 | | | private | ''compileRoutes()'' | Compile all routes for a given HTTP method into combined regex chunks. | 333 | |
| | public | ''getParams()'' | Get route parameters | 386 | | | public | ''getParams()'' | Get route parameters | 386 | |
| | public | ''getRoutes()'' | Get all registered routes | 396 | | | public | ''getRoutes()'' | Get all registered routes | 396 | |
| |
| |
| Register a GET route | Register a GET route |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Register a POST route | Register a POST route |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Register a PUT route | Register a PUT route |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Register a PATCH route | Register a PATCH route |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Register a DELETE route | Register a DELETE route |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| where the query input is passed as request content rather than URI params. | where the query input is passed as request content rather than URI params. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Register a route for any HTTP method | Register a route for any HTTP method |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$method'' | ''(untyped)'' | //required// | HTTP method | | | ''$method'' | ''(untyped)'' | //required// | HTTP method | |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Add a route to the routing table | Add a route to the routing table |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$method'' | ''(untyped)'' | //required// | HTTP method | | | ''$method'' | ''(untyped)'' | //required// | HTTP method | |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| | ''$handler'' | ''(untyped)'' | //required// | Controller@method | | | ''$handler'' | ''(untyped)'' | //required// | Controller@method | |
| |
| **Returns:** ''(none declared)'' — self | **Returns:** ''(none declared)'' — self |
| Convert route pattern to regex | Convert route pattern to regex |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | | | ''$pattern'' | ''(untyped)'' | //required// | Route pattern | |
| |
| **Returns:** ''(none declared)'' — string Regex pattern | **Returns:** ''(none declared)'' — string Regex pattern |
| Dispatch the request to the appropriate controller | Dispatch the request to the appropriate controller |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$method'' | ''(untyped)'' | //required// | HTTP method | | | ''$method'' | ''(untyped)'' | //required// | HTTP method | |
| | ''$uri'' | ''(untyped)'' | //required// | Request URI | | | ''$uri'' | ''(untyped)'' | //required// | Request URI | |
| | ''$queryParams'' | ''(untyped)'' | ''[]'' | Query parameters | | | ''$queryParams'' | ''(untyped)'' | ''[]'' | Query parameters | |
| |
| **Returns:** ''(none declared)'' — void | **Returns:** ''(none declared)'' — void |
| while the identification path uses targeted per-route checks. | while the identification path uses targeted per-route checks. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$method'' | ''(untyped)'' | //required// | HTTP method | | | ''$method'' | ''(untyped)'' | //required// | HTTP method | |
| | ''$uri'' | ''(untyped)'' | //required// | Request URI | | | ''$uri'' | ''(untyped)'' | //required// | Request URI | |
| |
| **Returns:** ''(none declared)'' — array|false Matched route or false | **Returns:** ''(none declared)'' — array|false Matched route or false |
| handler, parameter positions, verification prefix, and suffix. | handler, parameter positions, verification prefix, and suffix. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$method'' | ''(untyped)'' | //required// | //none// | | | ''$method'' | ''(untyped)'' | //required// | //none// | |
| |
| **Returns:** ''(none declared)'' — array|null | **Returns:** ''(none declared)'' — array|null |