phower / view
Standalone templating system for PHP scripts.
Requires
- php: ^5.6 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^2.8
- symfony/var-dumper: ^3.2
This package is auto-updated.
Last update: 2024-12-10 06:40:22 UTC
README
Standalone templating system for PHP scripts.
Requirements
Phower View requires:
Instalation
Add Phower View to any PHP project using Composer:
composer require phower/view
Usage
This package provides the essential tools for an application to output any kind of output response supported by an optional list of variables which are rendered inside templates.
Templates are plain PHP scripts which are rendered on a protected environment with all variables already available:
<h1>Hello <?= $name ?>!</h1>
Assuming the template above is a file called my_template.php
then we can use it to
output a new set of variables:
use Phower\View\TemplateView; $view = new TemplateView(); $view->setTemplate('my_template.php'); $view->setVariables(['name'] => 'Pedro'); $view->render(); // outputs: <h1>Hello Pedro!</h1>
Templates inside templates
Many times we find useful to implement more than one layer of templating with high level ones outputing other templates.
This can be achived by capturing the child template into a variable of the parent template:
use Phower\View\TemplateView; $child = new TemplateView(); $child->setTemplate('child_template.php'); $parent = new TemplateView(); $parent->setTemplate('parent_template.php'); $parent->capture('child', $child); $parent->render();
JSON views
Other times we may wish to output a set of variables not using a template but just as a JSON plain representation:
use Phower\View\JsonView; $view = new JsonView(); $view->setVariables(['name'] => 'Pedro'); $view->render(); // outputs: {"name":"Pedro"}
Note that
JsonTemplate
is fully compatible with PHPjson_encode
so that we can also setoptions
anddepth
and use all the accepted values there on each instance ofJsonTemplate
.
Running Tests
Tests are available in a separated namespace and can run with PHPUnit in the command line:
vendor/bin/phpunit
Coding Standards
Phower code is written under PSR-2 coding style standard. To enforce that CodeSniffer tools are also provided and can run as:
vendor/bin/phpcs
Reporting Issues
In case you find issues with this code please open a ticket in Github Issues at https://github.com/phower/view/issues.
Contributors
Open Source is made of contribuition. If you want to contribute to Phower please follow these steps:
- Fork latest version into your own repository.
- Write your changes or additions and commit them.
- Follow PSR-2 coding style standard.
- Make sure you have unit tests with full coverage to your changes.
- Go to Github Pull Requests at https://github.com/phower/view/pulls and create a new request.
Thank you!
Changes and Versioning
All relevant changes on this code are logged in a separated log file.
Version numbers follow recommendations from Semantic Versioning.
License
Phower code is maintained under The MIT License.