Template rendering abstraction library. Abstract your libraries from specific templating engines.
PHP 7.4 or 8
Install with composer
composer require slepic/php-template
This is the abstraction of any data rendering template.
A simple template implementation, which renders the data using another PHP script (given its filename) and PHP ob_* functions.
Template decorator which allows to feed your templates with default data hidden from the template consumer.
If you create a library that depends on this one and you use composer, please consider the following:
- If you implement the
TemplateInterface, please placeslepic/php-template-implementationin the provide section of yourcomposer.json. - If you consume the
TemplateInterface, please placeslepic/php-template-consumerin the provide section of yourcomposer.json.
- added new class
DefaultDataTemplate OutputBufferTemplatenow ends the output buffer if the included template throws an exception.OutputBufferTemplatenow usesincludeinstead ofrequireto execute the template script .
- bump PHP to ^7.4 || ^8.0
- TemplateInterface::render() now has string return typehint
- OutputBufferTemplate::render throws InvalidArgumentException if data argument contains keys that cannot be used as local variable names
- use squizlabs/php_codesniffer instead of friendsofphp/php-cs-fixer for style check
- bump dev deps to latest versions
- use composer docker image for dev
- move composer scripts to makefile
- Added array typehint for first argument of
TemplateInterface::render(). - Changed travis setup to only run tests in oldest and newest php versions supported by this package (that is 5.6 and 7.3).