PHP code example of volcanus / template-renderer
1. Go to this page and download the library: Download volcanus/template-renderer 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/ */
volcanus / template-renderer example snippets
Volcanus\TemplateRenderer\Renderer;
use Volcanus\TemplateRenderer\Adapter\SmartyAdapter;
// Smarty
$renderer = new Renderer(new SmartyAdapter(new \Smarty(), [
'template_dir' => __DIR__,
'compile_dir' => sys_get_temp_dir(),
]));
$renderer->assign('suffix', '様');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tpl', 'Hello {$name}{$suffix} !!');
$renderer->render('hello.tpl', ['name' => 'Smarty']); // Hello Smarty様 !!
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tpl');
Volcanus\TemplateRenderer\Renderer;
use Volcanus\TemplateRenderer\Adapter\LatteAdapter;
// Latte
$renderer = new Renderer(new LatteAdapter(new \Latte\Engine(), [
'baseDir' => __DIR__,
'tempDirectory' => sys_get_temp_dir(),
]));
$renderer->assign('suffix', '様');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'hello.latte', 'Hello {$name}{$suffix} !!');
$renderer->render('hello.latte',['name' => 'Latte']); // Hello Latte様 !!
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'hello.latte');
Volcanus\TemplateRenderer\Renderer;
use Volcanus\TemplateRenderer\Adapter\PhpTalAdapter;
// PHPTAL
$renderer = new Renderer(new PhpTalAdapter(new \PHPTAL(), [
'templateRepository' => __DIR__,
'phpCodeDestination' => sys_get_temp_dir(),
]));
$renderer->assign('suffix', '様');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tal', '<tal:block>Hello <span tal:replace="name">Anonymous</span><span tal:replace="suffix">氏</span> !!</tal:block>');
$renderer->render('hello.tal', ['name' => 'PHPTAL']); // Hello PHPTAL様 !!
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tal');
Volcanus\TemplateRenderer\Renderer;
use Volcanus\TemplateRenderer\Adapter\SmartyAdapter;
use Volcanus\TemplateRenderer\Adapter\LatteAdapter;
use Volcanus\TemplateRenderer\Adapter\PhpTalAdapter;
// Smarty
$renderer = new Renderer(new SmartyAdapter(new \Smarty(), [
'template_dir' => __DIR__,
'compile_dir' => sys_get_temp_dir(),
]));
$renderer->assign('suffix', '様');
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tpl', 'Hello {$name}{$suffix} !!');
$renderer->assign('smarty', $renderer->fetch('hello.tpl', ['name' => 'Smarty'])); // Hello Smarty様 !!
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'hello.tpl');
// Latte
$renderer->setAdapter(new LatteAdapter(new \Latte\Engine(), [
'baseDir' => __DIR__,
'tempDirectory' => sys_get_temp_dir(),
]));
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'hello.latte', 'Hello {$name}{$suffix} !!');
$renderer->assign('latte', $renderer->fetch('hello.latte', ['name' => 'Latte'])); // Hello Latte様 !!
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'hello.latte');
// PHPTAL
$renderer->setAdapter(new PhpTalAdapter(new \PHPTAL(),[
'templateRepository' => __DIR__,
'phpCodeDestination' => sys_get_temp_dir(),
]));
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'outline.tal', <<<'TEMPLATE'
<html>
<head>
<title tal:content="title">タイトル</title>
</head>
<body>
<div tal:content="smarty">Smartyコンテンツ</div>
<div tal:content="latte">Latteコンテンツ</div>
<div>Hello <span tal:replace="name">Anonymous</span><span tal:replace="suffix">氏</span> !!</div>
</body>
</html>
TEMPLATE
);
$renderer->render('outline.tal', [
'title' => 'PHPTAL + Smarty + Latte',
'name' => 'PHPTAL',
]);
unlink(__DIR__ . DIRECTORY_SEPARATOR . 'outline.tal');