mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
commit
7d1b7cb691
@ -1,61 +0,0 @@
|
||||
<?php
|
||||
/** Fenom template 'greeting.tpl' compiled at 2013-09-02 17:37:18 */
|
||||
return new Fenom\Render($fenom, function ($tpl) {
|
||||
?>
|
||||
|
||||
A1
|
||||
<?php
|
||||
/* greeting.tpl:4: {mc.factorial num=10} */
|
||||
$_tpl4154309674_1 = $tpl->exchangeArray(array("num" => 10));
|
||||
?><?php
|
||||
/* macros.tpl:2: {if $num} */
|
||||
if($tpl["num"]) { ?>
|
||||
<?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?> <?php
|
||||
/* macros.tpl:3: {macro.factorial num=$num-1} */
|
||||
$_tpl2531688351_1 = $tpl->exchangeArray(array("num" => $tpl["num"] - 1));
|
||||
$tpl->getMacro("factorial")->__invoke($tpl);
|
||||
$tpl->exchangeArray($_tpl2531688351_1); /* X */ unset($_tpl2531688351_1); ?> <?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?>
|
||||
<?php
|
||||
/* macros.tpl:4: {/if} */
|
||||
} ?>
|
||||
<?php
|
||||
$tpl->exchangeArray($_tpl4154309674_1); /* X */ unset($_tpl4154309674_1); ?>
|
||||
A2<?php
|
||||
}, array(
|
||||
'options' => 128,
|
||||
'provider' => false,
|
||||
'name' => 'greeting.tpl',
|
||||
'base_name' => 'greeting.tpl',
|
||||
'time' => 1378125225,
|
||||
'depends' => array (
|
||||
0 =>
|
||||
array (
|
||||
'macros.tpl' => 1378129033,
|
||||
'greeting.tpl' => 1378125225,
|
||||
),
|
||||
),
|
||||
'macros' => array(
|
||||
'factorial' => function ($tpl) {
|
||||
?><?php
|
||||
/* macros.tpl:2: {if $num} */
|
||||
if($tpl["num"]) { ?>
|
||||
<?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?> <?php
|
||||
/* macros.tpl:3: {macro.factorial num=$num-1} */
|
||||
$_tpl2531688351_1 = $tpl->exchangeArray(array("num" => $tpl["num"] - 1));
|
||||
$tpl->getMacro("factorial")->__invoke($tpl);
|
||||
$tpl->exchangeArray($_tpl2531688351_1); /* X */ unset($_tpl2531688351_1); ?> <?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?>
|
||||
<?php
|
||||
/* macros.tpl:4: {/if} */
|
||||
} ?>
|
||||
<?php
|
||||
}),
|
||||
|
||||
));
|
@ -1,61 +0,0 @@
|
||||
<?php
|
||||
/** Fenom template 'greeting.tpl' compiled at 2013-09-02 17:37:39 */
|
||||
return new Fenom\Render($fenom, function ($tpl) {
|
||||
?>
|
||||
|
||||
A1
|
||||
<?php
|
||||
/* greeting.tpl:4: {mc.factorial num=10} */
|
||||
$_tpl4154309674_1 = $tpl->exchangeArray(array("num" => 10));
|
||||
?><?php
|
||||
/* macros.tpl:2: {if $num} */
|
||||
if($tpl["num"]) { ?>
|
||||
<?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?> <?php
|
||||
/* macros.tpl:3: {macro.factorial num=$num-1} */
|
||||
$_tpl2531688351_1 = $tpl->exchangeArray(array("num" => $tpl["num"] - 1));
|
||||
$tpl->getMacro("factorial")->__invoke($tpl);
|
||||
$tpl->exchangeArray($_tpl2531688351_1); /* X */ unset($_tpl2531688351_1); ?> <?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?>
|
||||
<?php
|
||||
/* macros.tpl:4: {/if} */
|
||||
} ?>
|
||||
<?php
|
||||
$tpl->exchangeArray($_tpl4154309674_1); /* X */ unset($_tpl4154309674_1); ?>
|
||||
A2<?php
|
||||
}, array(
|
||||
'options' => 0,
|
||||
'provider' => false,
|
||||
'name' => 'greeting.tpl',
|
||||
'base_name' => 'greeting.tpl',
|
||||
'time' => 1378125225,
|
||||
'depends' => array (
|
||||
0 =>
|
||||
array (
|
||||
'macros.tpl' => 1378129033,
|
||||
'greeting.tpl' => 1378125225,
|
||||
),
|
||||
),
|
||||
'macros' => array(
|
||||
'factorial' => function ($tpl) {
|
||||
?><?php
|
||||
/* macros.tpl:2: {if $num} */
|
||||
if($tpl["num"]) { ?>
|
||||
<?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?> <?php
|
||||
/* macros.tpl:3: {macro.factorial num=$num-1} */
|
||||
$_tpl2531688351_1 = $tpl->exchangeArray(array("num" => $tpl["num"] - 1));
|
||||
$tpl->getMacro("factorial")->__invoke($tpl);
|
||||
$tpl->exchangeArray($_tpl2531688351_1); /* X */ unset($_tpl2531688351_1); ?> <?php
|
||||
/* macros.tpl:3: {$num} */
|
||||
echo $tpl["num"]; ?>
|
||||
<?php
|
||||
/* macros.tpl:4: {/if} */
|
||||
} ?>
|
||||
<?php
|
||||
}),
|
||||
|
||||
));
|
@ -1,10 +1,11 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/../src/Fenom.php';
|
||||
require_once __DIR__.'/../tests/tools.php';
|
||||
|
||||
\Fenom::registerAutoload();
|
||||
|
||||
$fenom = Fenom::factory(__DIR__.'/templates', __DIR__.'/compiled');
|
||||
$fenom->setOptions(Fenom::AUTO_RELOAD | Fenom::AUTO_STRIP);
|
||||
echo($fenom->compile("problem.tpl", false)->getBody());
|
||||
$fenom->setOptions(Fenom::AUTO_RELOAD);
|
||||
$fenom->display(["blocks/body.tpl", "layout.tpl"], []);
|
||||
// $fenom->getTemplate("problem.tpl");
|
4
sandbox/templates/blocks/body.tpl
Normal file
4
sandbox/templates/blocks/body.tpl
Normal file
@ -0,0 +1,4 @@
|
||||
{block 'body'}
|
||||
|
||||
do extend
|
||||
{/block}
|
7
sandbox/templates/layout.tpl
Normal file
7
sandbox/templates/layout.tpl
Normal file
@ -0,0 +1,7 @@
|
||||
<html>
|
||||
<body>
|
||||
{block 'body'}
|
||||
nothing to do there
|
||||
{/block}
|
||||
</body>
|
||||
</html>
|
@ -938,7 +938,6 @@ class Fenom
|
||||
return $tpl;
|
||||
}
|
||||
} elseif ($this->_options & self::FORCE_COMPILE) {
|
||||
|
||||
return $this->compile($template, $this->_options & self::DISABLE_CACHE & ~self::FORCE_COMPILE, $options);
|
||||
} else {
|
||||
return $this->_storage[$key] = $this->_load($template, $options);
|
||||
@ -1020,9 +1019,8 @@ class Fenom
|
||||
$template = $this->getRawTemplate()->load($tpl);
|
||||
} else {
|
||||
$template = $this->getRawTemplate()->load($tpl[0], false);
|
||||
unset($tpl[0]);
|
||||
foreach ($tpl as $t) {
|
||||
$template->extend($t);
|
||||
for($i = 1; $i < count($tpl); $i++) {
|
||||
$template->extend($tpl[ $i ]);
|
||||
}
|
||||
}
|
||||
if ($store) {
|
||||
|
@ -176,14 +176,13 @@ class Render extends \ArrayObject
|
||||
*/
|
||||
public function isValid()
|
||||
{
|
||||
if (count($this->_depends[0]) === 1) { // if no external dependencies, only self
|
||||
$provider = $this->_fenom->getProvider($this->_scm);
|
||||
if ($provider->getLastModified($this->_name) !== $this->_time) {
|
||||
foreach ($this->_depends as $scm => $templates) {
|
||||
$provider = $this->_fenom->getProvider($scm);
|
||||
if(count($templates) === 1) {
|
||||
if ($provider->getLastModified(key($templates)) !== $this->_time) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
foreach ($this->_depends as $scm => $templates) {
|
||||
$provider = $this->_fenom->getProvider($scm);
|
||||
if (!$provider->verify($templates)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -7,35 +7,10 @@ define('FENOM_RESOURCES', __DIR__ . "/resources");
|
||||
|
||||
require_once FENOM_RESOURCES . "/actions.php";
|
||||
require_once __DIR__ . "/TestCase.php";
|
||||
require_once __DIR__ . "/tools.php";
|
||||
|
||||
ini_set('date.timezone', 'Europe/Moscow');
|
||||
|
||||
function drop()
|
||||
{
|
||||
call_user_func_array("var_dump", func_get_args());
|
||||
$e = new Exception();
|
||||
echo "-------\nDump trace: \n" . $e->getTraceAsString() . "\n";
|
||||
exit();
|
||||
}
|
||||
|
||||
function dump()
|
||||
{
|
||||
foreach (func_get_args() as $arg) {
|
||||
fwrite(STDERR, "DUMP: " . call_user_func("print_r", $arg, true) . "\n");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function dumpt()
|
||||
{
|
||||
foreach (func_get_args() as $arg) {
|
||||
fwrite(STDERR, "DUMP: " . call_user_func("print_r", $arg, true) . "\n");
|
||||
|
||||
}
|
||||
$e = new Exception();
|
||||
echo "-------\nDump trace: \n" . $e->getTraceAsString() . "\n";
|
||||
}
|
||||
|
||||
if(PHP_VERSION_ID > 50400) {
|
||||
function php_gte_54() {}
|
||||
}
|
27
tests/tools.php
Normal file
27
tests/tools.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
function drop()
|
||||
{
|
||||
call_user_func_array("var_dump", func_get_args());
|
||||
$e = new Exception();
|
||||
echo "-------\nDump trace: \n" . $e->getTraceAsString() . "\n";
|
||||
exit();
|
||||
}
|
||||
|
||||
function dump()
|
||||
{
|
||||
foreach (func_get_args() as $arg) {
|
||||
fwrite(STDERR, "DUMP: " . call_user_func("print_r", $arg, true) . "\n");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function dumpt()
|
||||
{
|
||||
foreach (func_get_args() as $arg) {
|
||||
fwrite(STDERR, "DUMP: " . call_user_func("print_r", $arg, true) . "\n");
|
||||
|
||||
}
|
||||
$e = new Exception();
|
||||
echo "-------\nDump trace: \n" . $e->getTraceAsString() . "\n";
|
||||
}
|
Loading…
Reference in New Issue
Block a user