Download the PHP package knplabs/rad-resource-resolver without Composer
On this page you can find all versions of the php package knplabs/rad-resource-resolver. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download knplabs/rad-resource-resolver
More information about knplabs/rad-resource-resolver
Files in knplabs/rad-resource-resolver
Package rad-resource-resolver
Short Description A routing resource resolver based on conventions
License MIT
Informations about the package rad-resource-resolver
DEPRECATED
Unfortunately we decided to not maintain this project anymore (see why). If you want to mark another package as a replacement for this one please send an email to [email protected].
Knp Rad Resource Resolver
Official maintainers:
Why using it?
Tired of doing the same things again and again in your controllers, like transforming a URL value in an object? Don't want to use ParamConverter Annotations?
This Resource Resolver is for you.
Installation
With composer :
If you are using symfony2 you can update your app/AppKernel.php
file:
How to use it?
In a yaml routing file, it could look like this :
Every key
under _resources
will be return as a $key
converted value in your request attributes.
However, you can use more concise ways to express your resources configuration :
Optional Resources
By default, the Rad Resource Resolver throws a Symfony\Component\HttpKernel\Exception\NotFoundHttpException
if the resource was not found. You can override this behavior by adding the required
option to false:
Available resource resolving arguments
- URL variables: you have to use the
$
prefix. For example, if your URL is/products/{products}/
you can access toproduct
value by using$product
. - Services: you can use the
@
prefix (ex: @doctrine) - Previously resolved resources: you can use the
&
prefix (ex:&user
will return theuser
resource)
How does it work?
A ResourcesListener
listens to kernel.controller
event and resolves automatically all resources in _resources
.
The component uses ParameterCaster
objects to catch different argument types and Parser
objects to resolve _resources locations syntax.
This means you can easily add your own ParameterCasters
and Parsers
to change the syntax used by the component.
To add your own ParameterCaster
, just tag it with knp_rad_resource_resolver.parameter_caster
.
The tag to add a Parser
is knp_rad_resource_resolver.parser
.
Events
All events are listed here.
How can I hook resource resolution ?
There is two events :
- knp_rad_resource_resolver.before_resource_resolved: dispatched before the resolution. You can set the resource before the resolution.
- knp_rad_resource_resolver.resource_resolved: dispatched after the resolution.
How can I get all resolved resources ?
There is a service alias named knp_rad_resource_resolver.resource_container
where you can get all resolved resources. You can also listen to the event knp_rad_resource_resolver.resource.added
and be notified when a resource is added to the container.
License
This project is published under MIT License. Feel free to contribute.
All versions of rad-resource-resolver with dependencies
symfony/config Version ~2.8 || ~3.0
symfony/dependency-injection Version ~2.8 || ~3.0
symfony/event-dispatcher Version ~2.8 || ~3.0
symfony/http-foundation Version ~2.8 || ~3.0
symfony/http-kernel Version ~2.8 || ~3.0
symfony/routing Version ~2.8 || ~3.0