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-implementation
in the provide section of yourcomposer.json
. - If you consume the
TemplateInterface
, please placeslepic/php-template-consumer
in the provide section of yourcomposer.json
.
- added new class
DefaultDataTemplate
OutputBufferTemplate
now ends the output buffer if the included template throws an exception.OutputBufferTemplate
now usesinclude
instead ofrequire
to 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).