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;
}
}