You are reading the documentation for Silex 2.x. Switch to the documentation for Silex 1.x.
The PlatesServiceProvider provides integration with the Plates template engine.
- plates.directory (optional): The default template directory.
- plates.file_extension (optional): The template file extension.
- plates.folders (optional): A collection of template folders to add for grouping templates under different namespaces.
- plates.data (optional): A collection of data shared with all templates to add.
- plates.functions (optional): A collection of template functions to register.
- plates.extension.asset (optional): The asset extension directory to load that adds the ability to create "cache busted" asset URLs.
- plates: The
Engine
instance. The main way of interacting with Plates. - plates.engine_factory: Factory for
Engine
instances. - plates.loader: The loader for Plates templates which uses the
plates.folders
,plates.data
, andplates.functions
options. - plates.extension_loader.asset: Create new Asset extension instance that adds the ability to create "cache busted" asset URLs.
$app->register(new \LiquidBox\Silex\Provider\PlatesServiceProvider(), array(
'plates.directory' => '/path/to/templates',
'plates.folders' => array(
'email' => '/path/to/email/templates',
),
));
Add Plates as a dependency:
composer require liquidbox/silex-plates:^2.0
// Add any additional folders
$app['plates']->addFolder('emails', '/path/to/emails');
// Load asset extension
$app['plates.extension_loader.asset']('/path/to/public');
// Create a new template
$template = $app['plates']->make('emails::welcome');
The PlatesServiceProvider
provides additional integration between some Symfony components and Plates. This will provide you with the following additional capabilities.
If you are using the UrlGeneratorServiceProvider
, you will have access to the path()
and url()
functions. You can find more information in the Symfony Routing documentation.
If you are using the SecurityServiceProvider
, you will have access to the is_granted()
function in templates. You can find more information in the Symfony Security documentation.
You can configure the Plates environment before using it when registering the plates
service:
$app->register(new \LiquidBox\Silex\Provider\PlatesServiceProvider(), array(
'plates.data' => array(
'title' => 'Plates - Native PHP Templates',
),
'plates.functions' => array(
'uppercase' => function ($string) {
return strtoupper($string);
},
),
));
For more information, check out the official Plates documentation.