Overview

Namespaces

  • Charcoal
    • App
      • Action
      • Config
      • Handler
      • Middleware
      • Module
      • Route
      • Script
      • ServiceProvider
      • Template

Classes

  • ActionRoute
  • ActionRouteConfig
  • RouteConfig
  • RouteManager
  • ScriptRoute
  • ScriptRouteConfig
  • TemplateRoute
  • TemplateRouteConfig

Interfaces

  • RouteInterface
  • Overview
  • Namespace
  • Class

Class TemplateRoute

Template Route Handler.

A route handler is a simple invokale object with the signature: __invoke(Container $container, RequestInterface $request, ResponseInterface $response) It is only called (invoked) when a route is matched.

This is the default "Slim Route Handler" for template style routes. It uses a TemplateRouteConfig to properly either:

  • redirect the request, if explicitely set
  • load and render a "Template" object

Templates can be any objects that can be loaded with a "TemplateFactory". The Template Factory used is an external dependency (template/factory) expected to be set on the container.

Template-level cache is possible by setting the "cache" config option to true. Cached template can not have any options; they will always return the exact same content for all "template".

Charcoal\App\Route\TemplateRoute implements Charcoal\Config\ConfigurableInterface, Charcoal\App\Route\RouteInterface uses Charcoal\Config\ConfigurableTrait (not available)
Namespace: Charcoal\App\Route
Located at Charcoal/App/Route/TemplateRoute.php
Methods summary
public
# __construct( array $data )

Create new template route

Create new template route

Required dependencies

  • config — ScriptRouteConfig

Parameters

$data
Dependencies.
public Charcoal\App\Route\TemplateRouteConfig
# createConfig( mixed|null $data = null )

ConfigurableTrait > createConfig()

ConfigurableTrait > createConfig()

Parameters

$data
Optional config data.

Returns

Charcoal\App\Route\TemplateRouteConfig
public Psr\Http\Message\ResponseInterface
# __invoke( Pimple\Container $container, Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response )

Parameters

$container
A DI (Pimple) container.
$request
A PSR-7 compatible Request instance.
$response
A PSR-7 compatible Response instance.

Returns

Psr\Http\Message\ResponseInterface

Implementation of

Charcoal\App\Route\RouteInterface::__invoke()
protected string
# templateContent( Pimple\Container $container, Psr\Http\Message\RequestInterface $request )

Parameters

$container
A DI (Pimple) container.
$request
The request to intialize the template with.

Returns

string
protected string
# renderTemplate( Pimple\Container $container, Psr\Http\Message\RequestInterface $request )

Parameters

$container
A DI (Pimple) container.
$request
The request to intialize the template with.

Returns

string
protected string
# createTemplate( Pimple\Container $container, Psr\Http\Message\RequestInterface $request )

Parameters

$container
A DI (Pimple) container.
$request
The request to intialize the template with.

Returns

string
protected Slim\Http\Uri|null
# parseRedirect( string $redirection, Psr\Http\Message\RequestInterface $request )

Parameters

$redirection
The route's destination.
$request
A PSR-7 compatible Request instance.

Returns

Slim\Http\Uri|null
protected boolean
# cacheEnabled( )

Returns

boolean
protected integer
# cacheTtl( )

Returns

integer
protected string
# cacheIdent( )

Returns

string
API documentation generated by ApiGen