2014-08-02 00:24:14 +04:00
|
|
|
Documentation
|
|
|
|
=============
|
|
|
|
|
|
|
|
### Fenom
|
|
|
|
|
|
|
|
* [Quick start](./start.md)
|
|
|
|
* [Usage](./start.md#install-fenom)
|
|
|
|
* [Framework adapters](./adapters.md)
|
|
|
|
* [For developers](./dev/readme.md)
|
|
|
|
* [Configuration](./configuration.md)
|
|
|
|
* [Syntax](./syntax.md)
|
2015-01-02 22:44:23 +03:00
|
|
|
* [Variables](./syntax.md#Variables)
|
|
|
|
* [Values](./syntax.md#Values)
|
|
|
|
* [Arrays](./syntax.md#Arrays)
|
|
|
|
* [Operators](./operators.md)
|
|
|
|
* [Modificators](./syntax.md#Modificators)
|
|
|
|
* [Tags](./syntax.md#Tags)
|
|
|
|
* [Tag configuration](./syntax.md#Tag-configuration)
|
2014-08-02 00:24:14 +04:00
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
### Tags
|
|
|
|
|
|
|
|
[Usage](./syntax.md#tags)
|
|
|
|
|
2016-04-12 12:28:57 +03:00
|
|
|
* [set](./tags/set.md), [add](./tags/set.md#add) and `var` — define variables
|
|
|
|
* [if](./tags/if.md), [elseif](./tags/if.md#elseif) and [else](./tags/if.md#else) — conditional statement
|
|
|
|
* [foreach](./tags/foreach.md), [foreaelse](./tags/foreach.md#foreaelse),
|
|
|
|
[break](./tags/foreach.md#break) and [continue](./tags/foreach.md#continue) — traversing items in an array or object
|
|
|
|
* [switch](./tags/switch.md), [case](./tags/switch.md#case) — complex condition statement
|
2014-08-02 00:24:14 +04:00
|
|
|
* [cycle](./tags/cycle.md) — cycles on an array of values
|
2016-04-12 12:28:57 +03:00
|
|
|
* [include](./tags/include.md), [insert](./tags/include.md#insert) — includes and evaluates the specified template
|
|
|
|
* [extends](./tags/extends.md), [use](./tags/extends.md#use),
|
|
|
|
[block](./tags/extends.md#block), [parent](./tags/extends.md#parent) and [paste](./tags/extends.md#paste) — template inheritance
|
2014-08-02 00:24:14 +04:00
|
|
|
* [filter](./tags/filter.md) — apply modifier on a block of template data
|
|
|
|
* [ignore](./tags/ignore.md) — ignore Fenom syntax
|
2016-04-12 12:28:57 +03:00
|
|
|
* [macro](./tags/macro.md) and [import](./tags/macro.md#import) — template functions
|
2014-08-02 00:24:14 +04:00
|
|
|
* [autoescape](./tags/autoescape.md) — escape template fragment
|
|
|
|
* [raw](./tags/raw.md) — unescape template fragment
|
|
|
|
* [unset](./tags/unset.md) — unset a given variables
|
|
|
|
* or [add](./ext/extend.md#add-tags) yours
|
|
|
|
|
2016-04-12 12:28:57 +03:00
|
|
|
Deprecated tags
|
|
|
|
|
|
|
|
* [for](./tags/for.md), `forelse`, `break` and `continue` — loop statement
|
2014-08-02 00:24:14 +04:00
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
### Modifiers
|
|
|
|
|
|
|
|
[Usage](./syntax.md#modifiers)
|
|
|
|
|
|
|
|
* [upper](./mods/upper.md) aka `up` — convert to uppercase a string
|
|
|
|
* [lower](./mods/lower.md) aka `low` — convert to lowercase a string
|
|
|
|
* [date_format](./mods/date_format.md) - format date, timestamp via strftime() function
|
|
|
|
* [date](./mods/date.md) - format date, timestamp via date() function
|
|
|
|
* [truncate](./mods/truncate.md) — truncate thee string to specified length
|
|
|
|
* [escape](./mods/escape.md) aka `e` — escape the string
|
|
|
|
* [unescape](./mods/unescape.md) — unescape the string
|
|
|
|
* [strip](./mods/strip.md) — remove extra whitespaces
|
|
|
|
* [length](./mods/length.md) — calculate length of string, array, object
|
|
|
|
* [in](./mods/in.md) — find value in string or array
|
|
|
|
* [match](./mods/match.md) — match string against a pattern.
|
|
|
|
* [ematch](./mods/ematch.md) — perform a regular expression match.
|
|
|
|
* [replace](./mods/replace.md) — replace all occurrences of the search string with the replacement string.
|
|
|
|
* [ereplace](./mods/ereplace.md) — perform a regular expression search and replace.
|
|
|
|
* [split](./mods/split.md) — split a string by string.
|
|
|
|
* [esplit](./mods/esplit.md) — split string by a regular expression.
|
|
|
|
* [join](./mods/join.md) — join array elements with a string.
|
|
|
|
* allowed functions: `json_encode`, `json_decode`, `count`, `is_string`, `is_array`, `is_numeric`, `is_int`, `is_object`,
|
|
|
|
`strtotime`, `gettype`, `is_double`, `ip2long`, `long2ip`, `strip_tags`, `nl2br`
|
|
|
|
* or [add](./ext/extend.md#add-modifiers) yours
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
### Operators
|
|
|
|
|
|
|
|
* [Arithmetic operators](./operators.md#arithmetic-operators) — `+`, `-`, `*`, `/`, `%`
|
|
|
|
* [Logical operators](./operators.md#logical-operators) — `||`, `&&`, `!$var`, `and`, `or`, `xor`
|
|
|
|
* [Comparison operators](./operators.md#comparison-operators) — `>`, `>=`, `<`, `<=`, `==`, `!=`, `!==`, `<>`
|
|
|
|
* [Bitwise operators](./operators.md#bitwise-operators) — `|`, `&`, `^`, `~$var`, `>>`, `<<`
|
|
|
|
* [Assignment operators](./operators.md#assignment-operators) — `=`, `+=`, `-=`, `*=`, `/=`, `%=`, `&=`, `|=`, `^=`, `>>=`, `<<=`
|
2015-01-02 22:44:23 +03:00
|
|
|
* [String concatenation operators](./operators.md#string-operators) — `$str1 ~ $str2`, `$str1 ~~ $str2`, `$str1 ~= $str2`
|
2014-08-02 00:24:14 +04:00
|
|
|
* [Ternary operators](./operators.md#ternary-operators) — `$a ? $b : $c`, `$a ! $b : $c`, `$a ?: $c`, `$a !: $c`
|
|
|
|
* [Check operators](./operators.md#check-operators) — `$var?`, `$var!`
|
|
|
|
* [Test operator](./operators.md#test-operator) — `is`, `is not`
|
|
|
|
* [Containment operator](./operators.md#containment-operator) — `in`, `not in`
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
### Extends
|
|
|
|
|
|
|
|
* [Extend Fenom](./ext/extend.md)
|
|
|
|
* [Add-ons](./ext/extensions.md)
|