Download the PHP package germania-kg/routenameurlcallable without Composer
On this page you can find all versions of the php package germania-kg/routenameurlcallable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download germania-kg/routenameurlcallable
More information about germania-kg/routenameurlcallable
Files in germania-kg/routenameurlcallable
Package routenameurlcallable
Short Description Generates full URLs for Slim 4's named routes, using RouteContext und RouteParser. Suitable for Twig functions
License MIT
Informations about the package routenameurlcallable
Germania KG · RouteNameUrlCallable
Callable for generating full URLs using Slim 4's RouteContext and RouteParser. Works well as Twig function.
Installation with Composer
This package requires Slim Framework 4. For using Slim Framework 3, checkout the v1 branch.
Alternatively, add this package directly to your composer.json:
Introduction
The controller callable within a Slim route sometimes needs a full URL, be it for a redirect response or for rendering links. Consider this route which creates a new thing via POST and redirects to its GET representation. The redirect requires a full URL.
Given a named Slim route like this…
…Slim framework provides a solution using RouteContext and RouteParser:
The RouteNameUrlCallable now hides the cumbersome stuff. It works basically as a shortcut:
Instantiation
Pass a Slim\Psr7\Request
instance to the constructor. This is the default variant as of release 2.
As of release 2.2, it is also possible to inject a Slim\Interfaces\RouteParserInterface
. This way will become the standard as of major release 3 (which at the time of writing has no time schedule).
Recommendation: As a replacement for injecting the request into the constructor, one is encouraged to use the static fromRequest
method.
Usage
While Slim's RouteParser's relativeUrlFor, relativeUrlFor, and fullUrlFor methods return a string, the RouteNameUrlCallable returns a Slim\Http\Uri instance:
Invokation alternatives
The first RouteNameUrlCallable parameter may be an array or object which holds the name, args, and query stuff.
Placeholder args and query parameters may be overridden with the second resp. third parameter which will be merged:
Usage with Twig
Since RouteNameUrlCallable is callable, it can be used as Twig Function inside a template:
Inside you route controller, add the callable to Twig like this:
Development
Unit tests
Either copy phpunit.xml.dist
to phpunit.xml
and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this: