Json
Json
JSON Router.
The JSON router is a simple router that reads routes from a JSON file. The JSON file should contain an array of route objects. Each route object should contain the following
- route: The route path to match. This can contain placeholders for arguments. For example, /user/{id} would match /user/123 and /user/abc. The matched values are passed as arguments to the action.
- regex: A regular expression to match the route path. This can be used instead of the route key.
- controller: The controller to use for the route. If not specified, the default controller is used.
- action: The action to use for the route. If not specified, the default action is used.
- args: An array of additional arguments to pass to the action.
- cache: If true, the action result will be cached. The cache key is the controller and action name with the arguments appended. The cache TTL is specified in the ttl key.
- ttl: The time-to-live for the cache.
- method: The HTTP method to match. If not specified, the route will match any method.
Example JSON route file:
{
"routes": [
{
"route": "/user/{id}",
"controller": "user",
"action": "view"
},
{
"regex": "/user/([0-9]+)",
"controller": "user",
"action": "view"
},
{
"route": "/user/{id}/edit",
"controller": "user",
"action": "edit"
}
]
}
In the above example, the first route will match /user/123 and /user/abc and pass the matched value as an argument to the view action of the user controller. The second route will match /user/123 and pass the matched value as an argument to the view action of the user controller. The third route will match /user/123/edit and pass 123 as an argument to the edit action of the user controller.
- Full name:
\Hazaar\Application\Router\Loader\Json
- Parent class:
\Hazaar\Application\Router\Loader
Methods
exec
Evaluates the request and sets the controller, action, and arguments based on the request path.
public exec(\Hazaar\Application\Request $request): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$request | \Hazaar\Application\Request | the request object |
Return Value:
returns true if the evaluation is successful, false otherwise
Inherited methods
__construct
public __construct(\Hazaar\Map $config): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$config | \Hazaar\Map |
exec
public exec(\Hazaar\Application\Request $request): bool
- This method is abstract.
Parameters:
Parameter | Type | Description |
---|---|---|
$request | \Hazaar\Application\Request |
Automatically generated on 2024-11-14