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
Engineinstance. The main way of interacting with Plates. - plates.engine_factory: Factory for
Engineinstances. - plates.loader: The loader for Plates templates which uses the
plates.folders,plates.data, andplates.functionsoptions. - 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.

