fenom / extra
Extra pack for Fenom
Installs: 11 302
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 5
Forks: 1
Open Issues: 7
Requires
- php: >5.4.8
- fenom/fenom: 2.*
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-12 03:52:02 UTC
README
Extra add-ons pack for Fenom template engine.
Composer package:
{"fenom/extra": "dev-master"}
. See on Packagist.org
The library is a collection of add-ons. Each add-on present as trait. This realization allow create your template engine with custom collection of add-ons.
Also library contain class Fenom\Extra
- template engine which include all add-ons and ready out of the box.
Use class Fenom\Extra
instead of Fenom
:
$fenom = Fenom\Extra::factory($template_dir, $compiled_dir, $options);
Or combine your own templater:
List of add-ons
For example:
class Templater extends \Fenom { use \Fenom\StorageTrait, // add internal storage of variables \Fenom\LoaderTrait, // allow add yours loaders for modifiers and tags \Fenom\PluginLoaderTrait; // add loader for modifiers and tags in Smarty-like style // ... }
All add-ons implemented in class \Fenom\Extra
.
Storage
Add-on: Fenom\StorageTrait
<?php $fenom->assign("var_name", $value); $fenom->assignByRef("var_name", $value); $fenom->append("var_name", $value); $fenom->prepend("var_name", $value); $vars = $fenom->getVars(); $fenom->assignVars($vars); $fenom->resetVars(); $fenom->pipe($template_name, $callback); $fenom->fetch($template_name); $fenom->display($template_name);
Loader
Add-on: Fenom\LoaderTrait
Plugin loader
Add-on: Fenom\SimpleLoaderTrait
Require: Fenom\LoaderTrait
<?php $fenom->addPluginsDir($path);
Smarty
Add-on: Fenom\SmartyTrait
Require: Fenom\SimpleLoaderTrait
<?php $fenom->setSmartySupport(); // enable smarty syntax support
Supported:
- backticks operator in quoted string:
{func var="test `$foo[0]` test"}
- global variable
$smarty
(withoutsection
data) - tag
assign
- tag
foreach
- tag
section
- tag
math
Todo:
- invoke plugins in quoted strings:
{func var="test {counter} test"}
- global variable
$smarty
withsection
data