liquidbox / silex-plates
A Plates template engine service provider for the Silex micro-framework
Installs: 11 484
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- league/plates: ^3.0
- silex/silex: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ^4.0|^5.0
- symfony/security: ^2.6|3.0
Suggests
- symfony/security: For using the Security extension
Conflicts
- symfony/security: <2.6
This package is not auto-updated.
Last update: 2024-10-27 04:18:10 UTC
README
You are reading the documentation for Silex 2.x. Switch to the documentation for Silex 1.x.
Plates
The PlatesServiceProvider provides integration with the Plates template engine.
Parameters
- 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.
Services
- 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.
Registering
$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
Usage
// 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');
Symfony Components Integration
The PlatesServiceProvider
provides additional integration between some Symfony components and Plates. This will provide you with the following additional capabilities.
Routing Support
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.
Security Support
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.
Customization
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.