slepic / php-template
Simple PHP abstraction of template rendering.
Installs: 17 474
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.1
- squizlabs/php_codesniffer: ^3.5
Suggests
- slepic/php-template-consumer: See existing TemplateInterface consumers
- slepic/php-template-implementation: See existing TemplateInterface implementations.
Provides
README
php-template
Template rendering abstraction library. Abstract your libraries from specific templating engines.
Requirements
PHP 7.4 or 8
Installation
Install with composer
composer require slepic/php-template
Interfaces
TemplateInterface
This is the abstraction of any data rendering template.
Classes
OutputBufferTemplate
A simple template implementation, which renders the data using another PHP script (given its filename) and PHP ob_* functions.
DefaultDataTemplate
Template decorator which allows to feed your templates with default data hidden from the template consumer.
Contribution
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
.
Changelog
1.1.0
- 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 .
1.0.0
- 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
0.2.0
- 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).