1. Go to this page and download the library: Download devtheorem/php-handlebars 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/ */
use DevTheorem\Handlebars\Handlebars;
$code = Handlebars::precompile('<p>{{org.name}}</p>');
// save the compiled code into a PHP file
file_put_contents('render.php', " $code");
// later import the template function from the PHP file
$template =
use DevTheorem\Handlebars\{Handlebars, Options};
$template = Handlebars::compile('Hi {{first}} {{last}}!', new Options(
strict: true,
));
echo $template(['first' => 'John']); // Error: Runtime: [last] does not exist
use DevTheorem\Handlebars\{Handlebars, HelperOptions, Options};
$template = Handlebars::compile('{{#equals my_var false}}Equal to false{{else}}Not equal{{/equals}}', new Options(
helpers: [
'equals' => function (mixed $a, mixed $b, HelperOptions $options) {
$jsEquals = function (mixed $a, mixed $b): bool {
if ($a === null || $b === null) {
// in JS, null is not equal to blank string or false or zero
return $a === $b;
}
return $a == $b;
};
return $jsEquals($a, $b) ? $options->fn() : $options->inverse();
},
],
));
echo $template(['my_var' => 0]); // Equal to false
echo $template(['my_var' => 1]); // Not equal
echo $template(['my_var' => null]); // Not equal
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.