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');