PHP code example of wol-soft / php-micro-template
1. Go to this page and download the library: Download wol-soft/php-micro-template library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wol-soft / php-micro-template example snippets
use PHPMicroTemplate\Render;
/* ... */
$render = new Render(__DIR__ . '/Templates/');
$result = $render->renderTemplate(
'productList.template',
[
'pageTitle' => $translator->translate('availableProducts'),
'productHead' => $translator->translate('product'),
'products' => $products,
'showVersion' => true
]
);
/* ... */
use PHPMicroTemplate\Render;
/* ... */
$myPartialTemplate = '
{% foreach products as product %}
{% if product.isVisible() %}
<li class="product">
<span>{{ productHead }}</span>
<span>{{ product.getTitle() }}</span>
</li>
{% endif %}
{% endforeach %}
';
$render = new Render();
$result = $render->renderTemplateString(
$myPartialTemplate,
[
'productHead' => $translator->translate('product'),
'products' => $products
]
);
/* ... */
$render->renderTemplateString(
'{{ render.productRender.renderProductName(product.details.name) }}',
[
'product' => [
'details' => [
'name' => 'MyProduct',
],
],
'render' => [
'productRender' => new ProductRender(),
]
]
);
$person = new stdClass();
$person->name = 'Hans';
$render->renderTemplateString(
'{{ person.name }}',
[
'person' => $person,
]
);
$render->onResolveError(function (string $var): string {
return 'Undefined';
});
// will result in "Person name: Undefined"
$result = $render->renderTemplateString('Person name: {{ name }}');
use PHPMicroTemplate\Render;
/* ... */
class ViewHelper
{
public function count(iterable $list): int
{
return count($list);
}
public function sum(float ...$values): float
{
return array_sum($values);
}
public function weight(string $label, int $weight = 400): string
{
return sprintf('<span style="font-weight: %d;">%s</span>', $weight, $label);
}
}
/* ... */
$render = new Render(__DIR__ . '/Templates/');
$result = $render->renderTemplate(
'functionExample.template',
[
'viewHelper' => new ViewHelper(),
'currencyFormatter' => new CurrencyFormatter(),
'basePrice' => 3.00,
'products' => $products
]
);
/* ... */
use PHPMicroTemplate\Render;
/* ... */
$render = new Render(__DIR__ . '/Templates/');
$result = $render->renderTemplate(
'functionExample.template',
[
'customCallback' => function(string $in): string {
return trim(strtoupper($in));
},
]
);
/* ... */
$ composer
html
{% foreach products as bestSellerNumber, product %}
<b>Bestseller Nr. {{ bestSellerNumber }}:</b>{{ product.getTitle() }}<br/>
{% endforeach %}
html
<html>
<p>Products: {{ viewHelper.count(products) }}
<ul class="row">
{% foreach products as product %}
<li class="product">
<span>{{ viewHelper.weightFont(product.getTitle(), 600) }}</span>
<span>Price: {{
currencyFormatter.format(
viewHelper.sum(
product.getPrice(),
basePrice
)
)
}}</span>
</li>
{% endforeach %}
</ul>
</html>