Router
See url(), router(), route(), routeGroup()
Routes can be defined in any Provider:
public function routes() {
return [
new route('/foo', 'foo', \Foo\Controller\Bar::class),
new route('/bar', 'bar', \Foo\Controller\Bar::class),
];
}Groups
When sharing same parameters, they can be easily grouped:
public function routes() {
return [
routeGroup([
'controller' => \Foo\Controller\Bar::class
])->routes([
route('/foo', 'foo'),
route('/bar', 'bar'),
])
];
}Resolvers
Common usage is with named route parameters:
public function routes() {
return [
route('/foo/[bar]', 'foo', \Foo\Controller\Bar::class))
->resolvers([
'bar' => \Foo\Resolver\Bar::class,
]),
];
}... and then implementing resolver:
class Bar extends \Pckg\Framework\Router\RouteResolver {
public function resolve($value) {
return (new Foos())
->where('id', $value)
->withPermissionsToRead()
->oneOrFail();
}
public function parametrize($record) {
return $record->id;
}
}Last updated
Was this helpful?