You are reading 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.
The unlisted parameter plates.path
is an alias of plates.directory
and only exists to offer drop-in support of package rych/silex-plates-provider
. Its use is discouraged and will be removed in the next major update.
- 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:^1.0
The PlatesServiceProvider
provides additional integration between some Symfony components and Plates. This will provide you with the following additional capabilities.
- UrlGeneratorServiceProvider: If you are using the
UrlGeneratorServiceProvider
, you will have access to thepath()
andurl()
functions. You can find more information in the Symfony Routing documentation. - SecurityServiceProvider: If you are using the
SecurityServiceProvider
, you will have access to theis_granted()
function in templates. You can find more information in the Symfony Security documentation.
// 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');
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.