mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
parent
b842421408
commit
0be8b15d68
@ -2,7 +2,7 @@
|
||||
=========
|
||||
|
||||
По синтаксису шаблона Fenom похож на [Smarty](http://www.smarty.net/), но обладает рядом улучшений.
|
||||
Все теги шаблонизатора заключаются в фигрные скобки: `{` — открытие тега и `}` — закрытие тега.
|
||||
Все теги шаблонизатора заключаются в фигурные скобки: `{` — открытие тега и `}` — закрытие тега.
|
||||
|
||||
**Замечание**
|
||||
Хоть Fenom и позаимствовал синтаксис Smarty, но он не заимствовал теги Smarty как есть.
|
||||
@ -29,7 +29,7 @@
|
||||
<div class="user">Hello, <a href="/users/17">Bzick</a>.</div>
|
||||
```
|
||||
|
||||
Переменные могут быть массивом. В этом случае обращение по ключу происходит через опертор `.` или, как в PHP, через операторы `[` и `]`
|
||||
Переменные могут быть массивом. В этом случае обращение по ключу происходит через оператор `.` или, как в PHP, через операторы `[` и `]`
|
||||
```smarty
|
||||
<div class="user">Hello, <a href="/users/{$user.id}">{$user.name}</a>.</div>
|
||||
```
|
||||
@ -38,12 +38,12 @@
|
||||
<div class="user">Hello, <a href="/users/{$user['id']}">{$user['name']}</a>.</div>
|
||||
```
|
||||
|
||||
В случае объекта, доступ к его свойствам осущесвляется так как и в PHP — через оператор `->`:
|
||||
В случае объекта, доступ к его свойствам осуществляется так как и в PHP — через оператор `->`:
|
||||
```smarty
|
||||
<div class="user">Hello, <a href="/users/{$user->id}">{$user->name}</a>.</div>
|
||||
```
|
||||
|
||||
Методы, как и свойства можно вызвать через оператор `->`, передав в метод любые рагументы:
|
||||
Методы, как и свойства можно вызвать через оператор `->`, передав в метод любые аргументы:
|
||||
```smarty
|
||||
<div class="user">Hello, <a href="/users/{$user->getId()}">{$user->getName()}</a>.</div>
|
||||
```
|
||||
@ -53,7 +53,7 @@
|
||||
Что бы избежать фатальной ошибки определите метод `__call` у класса объекта.
|
||||
Вызов методов в шаблоне можно вообще выключить в [настройках](./docs/configuration.md).
|
||||
|
||||
Ниже приведены комбинированые примеры работы с переменными:
|
||||
Ниже приведены комбинированные примеры работы с переменными:
|
||||
|
||||
```smarty
|
||||
{$foo.bar.baz}
|
||||
@ -79,7 +79,7 @@
|
||||
|
||||
### Системная переменная
|
||||
|
||||
Безименная системная переменная начинается с `$.` и предоставляет доступ к глобальным системным переменным и системной информации:
|
||||
Безымянная системная переменная начинается с `$.` и предоставляет доступ к глобальным системным переменным и системной информации:
|
||||
|
||||
* `$.get` — `$_GET`.
|
||||
* `$.post` — `$_POST`.
|
||||
@ -183,7 +183,7 @@
|
||||
|
||||
**Замечение**
|
||||
Двоичная запись числа (`0b1011011`) не доступна на старых версиях PHP — 5.3 или ниже.
|
||||
Попытка исользовать на старых версия PHP приведет к исключению при компиляциях.
|
||||
Попытка использовать на старых версия PHP приведет к исключению при компиляциях.
|
||||
|
||||
**Замечение**
|
||||
Размер целого числа зависит от платформы, хотя, как правило, максимальное значение примерно равно 2 миллиардам (это 32-битное знаковое).
|
||||
@ -213,8 +213,8 @@
|
||||
|
||||
Специальное значение NULL представляет собой переменную без значения. NULL - это единственно возможное значение типа null.
|
||||
|
||||
Обычно возникают путаницы между NULL и FALSE, так как по роли они похожи, но разлицаются по принципу:
|
||||
NULL - это отсутствие присутствия, а FALSE - присутвие отсутствия.
|
||||
Обычно возникают путаницы между NULL и FALSE, так как по роли они похожи, но различаются по принципу:
|
||||
NULL - это отсутствие присутствия, а FALSE - присутствие отсутствия.
|
||||
|
||||
### Операции
|
||||
|
||||
@ -264,7 +264,7 @@ NULL - это отсутствие присутствия, а FALSE - прису
|
||||
* Числа с плавающей точкой также будут преобразованы к числу, т.е. дробная часть будет отброшена. Например, ключ со значением `8.7` будет в действительности сохранен со значением `8`.
|
||||
* Булев также преобразовываются к целому числу. Например, ключ со значением `true` будет сохранен со значением `1` и ключ со значением `false` будет сохранен со значением `0`.
|
||||
* NULL будет преобразован к пустой строке. Например, ключ со значением `null` будет в действительности сохранен со значением `""`.
|
||||
* Массивы (тип array) и объекты (тип object) не могут использоваться в качестве ключей. При подобном использовании будет генерироваться предупреждение: Недопустимый тип смещения (Illegal offset type).
|
||||
* Массивы (тип array) и объекты (тип object) не могут использоваться в качестве ключей. При подобном использовании компилятор будет генерировать предупреждение: Недопустимый тип смещения (Illegal offset type).
|
||||
|
||||
Если несколько элементов в объявлении массива используют одинаковый ключ, то только последний будет использоваться, а все другие будут перезаписаны.
|
||||
|
||||
@ -285,7 +285,7 @@ NULL - это отсутствие присутствия, а FALSE - прису
|
||||
|
||||
## Модификаторы
|
||||
|
||||
Модификаторы переменных могут быть прмменены к переменным, пользовательским функциям или строкам.
|
||||
Модификаторы переменных могут быть применены к переменным, пользовательским функциям или строкам.
|
||||
Для их применения надо после модифицируемого значения указать символ `|` (вертикальная черта) и название модификатора.
|
||||
Так же модификаторы могут принимать параметры, которые влияют на их поведение.
|
||||
Эти параметры следуют за названием модификатора и разделяются `:` (двоеточием).
|
||||
@ -304,14 +304,14 @@ NULL - это отсутствие присутствия, а FALSE - прису
|
||||
|
||||
## Теги
|
||||
|
||||
Все сущности шаблона можно разжелить на две группы:
|
||||
Все сущности шаблона можно разбить на две группы:
|
||||
|
||||
* заполнитель (placeholder) — вывод переменной в шаблоне, например `{$name}`
|
||||
* тег — конструкция выполняющаяя некоторые действия, выглядит как именованный заполнитель (placeholder), например `{include $name}`
|
||||
* тег — конструкция выполняющая некоторые действия, выглядит как именованный заполнитель (placeholder), например `{include $name}`
|
||||
|
||||
Теги так же можно разделить на две группы:
|
||||
|
||||
* Функии. Тег функции вызывает пользовательскую во время выполнения шаблона, результат функции будет выведен вместо тега.
|
||||
* Функии. Тег функции вызывает пользовательскую функцию во время выполнения шаблона, результат функции будет выведен вместо тега.
|
||||
Пользовательские функции являются дополнительными и могут быть индивидуальными. Они могут быть изменены по вашему желанию, также вы можете создать новые.
|
||||
* Компиляторы. В отличии от функций компиляторы вызываются во время компиляции шаблона и возвращают PHP код, который описывает некоторое действие.
|
||||
Компиляторы и формируют основные конструкции типа `if`, `foreach` и т.д.
|
||||
|
Loading…
Reference in New Issue
Block a user