mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
Docs #209 [ru]
This commit is contained in:
parent
027075d7b5
commit
d6aa777fd0
@ -36,8 +36,9 @@ $fenom->setOptions($options);
|
|||||||
| *force_include* | `Fenom::FORCE_INCLUDE` | стараться по возможности вставить код дочернего шаблона в родительский при подключении шаблона | повышает производительность, увеличивает размер файлов в кеше, уменьшает количество файлов в кеше |
|
| *force_include* | `Fenom::FORCE_INCLUDE` | стараться по возможности вставить код дочернего шаблона в родительский при подключении шаблона | повышает производительность, увеличивает размер файлов в кеше, уменьшает количество файлов в кеше |
|
||||||
| *auto_escape* | `Fenom::AUTO_ESCAPE` | автоматически экранировать HTML сущности при выводе переменных в шаблон | понижает производительность |
|
| *auto_escape* | `Fenom::AUTO_ESCAPE` | автоматически экранировать HTML сущности при выводе переменных в шаблон | понижает производительность |
|
||||||
| *force_verify* | `Fenom::FORCE_VERIFY` | автоматически проверять существование переменной перед использованием в шаблоне | понижает производительность |
|
| *force_verify* | `Fenom::FORCE_VERIFY` | автоматически проверять существование переменной перед использованием в шаблоне | понижает производительность |
|
||||||
| *disable_php_calls* | `Fenom::DENY_PHP_CALLS` | отключает возможность вызова статических методов и функций в шаблоне | |
|
| *disable_call* | `Fenom::DENY_CALL` | отключает возможность вызова статических методов и функций в шаблоне | |
|
||||||
| *disable_statics* | `Fenom::DENY_STATICS` | устаревшее название disable_php_calls | |
|
| *disable_php_calls* | `Fenom::DENY_PHP_CALLS` | устаревшее название disable_call | |
|
||||||
|
| *disable_statics* | `Fenom::DENY_STATICS` | устаревшее название disable_call | |
|
||||||
| *strip* | `Fenom::AUTO_STRIP` | удаляет лишиние пробелы в шаблоне | уменьшает размер кеша |
|
| *strip* | `Fenom::AUTO_STRIP` | удаляет лишиние пробелы в шаблоне | уменьшает размер кеша |
|
||||||
|
|
||||||
```php
|
```php
|
||||||
|
@ -100,9 +100,10 @@
|
|||||||
* `$.const` обращение к PHP константе: `$.const.PHP_EOL` обращение к константе `PHP_EOL`. Поддерживается пространство имен
|
* `$.const` обращение к PHP константе: `$.const.PHP_EOL` обращение к константе `PHP_EOL`. Поддерживается пространство имен
|
||||||
которое разделяется через точку: `$.const.Storage.FS::DIR_SEPARATOR` обращение к PHP константе `Storage\FS::DIR_SEPARATOR`
|
которое разделяется через точку: `$.const.Storage.FS::DIR_SEPARATOR` обращение к PHP константе `Storage\FS::DIR_SEPARATOR`
|
||||||
если такой констатнты нет будет взята константа `Storage\FS\DIR_SEPARATOR`.
|
если такой констатнты нет будет взята константа `Storage\FS\DIR_SEPARATOR`.
|
||||||
* `$.php` обращение к статическомому методу. `$.php.Storage.FS::put($filename, $data)` обращение к методу `Storage\FS::put($filename, $data)`.
|
* `$.call` обращение к статическомому методу. `$.call.Storage.FS::put($filename, $data)` обращение к методу `Storage\FS::put($filename, $data)`.
|
||||||
`$.php.Storage.FS.put($filename, $data)` `Storage\FS\put($filename, $data)`
|
Настройка `disable_call` отключает возможность обращения к `$.call`. Так же можно ограничить и указать список доступных к вызову классов и функций.
|
||||||
* так же вы можете [добавить](./ext/extend.md#Расширение-глобальной-переменной) свои системные переменные и функции
|
* `$.blocks` проверка на сущестование блоков которые были определены до момента обращения к акцессору. Например, `{$.blocks.BLOCK_NAME}`.
|
||||||
|
* так же вы можете [добавить](./ext/extend.md#Расширение-глобальной-переменной) свои или [удалить](./ext/extend.md#Расширение-глобальной-переменной) существующие системные переменные и функции
|
||||||
|
|
||||||
|
|
||||||
## Скалярные значения
|
## Скалярные значения
|
||||||
|
@ -44,4 +44,14 @@
|
|||||||
{parent}
|
{parent}
|
||||||
content ...
|
content ...
|
||||||
{/block}
|
{/block}
|
||||||
|
```
|
||||||
|
|
||||||
|
### {paste}
|
||||||
|
|
||||||
|
```smarty
|
||||||
|
{block 'b1'}
|
||||||
|
...
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{paste 'b1'}
|
||||||
```
|
```
|
7
example/templates/main.tpl
Normal file
7
example/templates/main.tpl
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
{foreach $list as $item}
|
||||||
|
<ul>
|
||||||
|
<li>{$item#index}: {$item.index}</li>
|
||||||
|
</ul>
|
||||||
|
{/foreach}
|
@ -5,9 +5,12 @@ require_once __DIR__.'/../tests/tools.php';
|
|||||||
|
|
||||||
\Fenom::registerAutoload();
|
\Fenom::registerAutoload();
|
||||||
|
|
||||||
$fenom = Fenom::factory(__DIR__.'/../tests/resources/provider', __DIR__.'/../tests/resources/compile');
|
$fenom = Fenom::factory(__DIR__.'/templates', __DIR__.'/../tests/resources/compile');
|
||||||
$fenom->setOptions(Fenom::AUTO_RELOAD);
|
$fenom->setOptions(Fenom::AUTO_RELOAD);
|
||||||
var_dump($fenom->fetch('extends/auto/parent.tpl'));
|
$fenom->addModifier('firstimg', function ($img) {
|
||||||
|
return $img;
|
||||||
|
});
|
||||||
|
var_dump($fenom->compileCode('{block "pb"}- {$a} -{/block} =={paste "pb"}==')->getTemplateCode());
|
||||||
//var_dump($fenom->compile("bug158/main.tpl", [])->getTemplateCode());
|
//var_dump($fenom->compile("bug158/main.tpl", [])->getTemplateCode());
|
||||||
//var_dump($fenom->display("bug158/main.tpl", []));
|
//var_dump($fenom->display("bug158/main.tpl", []));
|
||||||
// $fenom->getTemplate("problem.tpl");
|
// $fenom->getTemplate("problem.tpl");
|
2
sandbox/templates/bug215/favicon.tpl
Normal file
2
sandbox/templates/bug215/favicon.tpl
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<link rel="apple-touch-icon" sizes="57x57" href="{$path_favicon}apple-touch-icon-57x57.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="60x60" href="{$path_favicon}apple-touch-icon-60x60.png">
|
8
sandbox/templates/bug215/index.tpl
Normal file
8
sandbox/templates/bug215/index.tpl
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
{include "bug215/favicon.tpl"}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -330,7 +330,11 @@ class Fenom
|
|||||||
'unset' => array(
|
'unset' => array(
|
||||||
'type' => self::INLINE_COMPILER,
|
'type' => self::INLINE_COMPILER,
|
||||||
'parser' => 'Fenom\Compiler::tagUnset'
|
'parser' => 'Fenom\Compiler::tagUnset'
|
||||||
)
|
),
|
||||||
|
'paste' => array( // {include ...}
|
||||||
|
'type' => self::INLINE_COMPILER,
|
||||||
|
'parser' => 'Fenom\Compiler::tagPaste'
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1044,4 +1044,15 @@ class Compiler
|
|||||||
}
|
}
|
||||||
return 'unset('.implode(", ", $unset).')';
|
return 'unset('.implode(", ", $unset).')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function tagPaste(Tokenizer $tokens, Tag $tag)
|
||||||
|
{
|
||||||
|
$name = $tokens->get(T_CONSTANT_ENCAPSED_STRING);
|
||||||
|
$tokens->next();
|
||||||
|
if(isset($tag->tpl->blocks[$name])) {
|
||||||
|
return "?>".substr($tag->tpl->blocks[$name]["block"], 1, -1)."<?php ";
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user