Dev, dev and dev. Also, docs, docs and docs.

This commit is contained in:
Ivan Shalganov
2013-02-07 17:37:16 +04:00
parent 36ab6bd08a
commit 06b7fa488b
49 changed files with 2092 additions and 608 deletions

3
docs/about.md Normal file
View File

@ -0,0 +1,3 @@
About Aspect
============

11
docs/ext/mods.md Normal file
View File

@ -0,0 +1,11 @@
Модификаторы
============
Добавить модификатор:
```php
$aspect->addModifier($modifier, $callback);
```
* `$modifier` - имя модификатора
* `$callback` - строка с именем функции

20
docs/ext/tags.md Normal file
View File

@ -0,0 +1,20 @@
Теги
====
Теги делятся на компилеры и функции.
Компилеры формируют синтаксис языка шаблона, добавляя такой функционал как foreach, if, while и т.д. В то время как функции - обычный вызов некоторой именованной функции
Добавить компилер:
```php
$aspect->addCompiler($compiler, $parser);
```
* `$compiler` - имя модификатора
* `$parser` - функция разбора тега в формате function (MF\Tokenizer $tokens, MF\Aspect\Template $tpl) {}
Добавить блочный компилер:
```php
$aspect->addBlockCompiler($compiler, $parsers, $tags);
```

43
docs/main.md Normal file
View File

@ -0,0 +1,43 @@
Documentation
=============
**Aspect**
* [About](./about.md)
* [Requirements and installation](./install.md)
* [Syntax](./syntax.md)
* [Settings](./settings.md)
* [Callbacks and filters](./callbacks.md)
**Modifiers**
* [upper](./mods/upper.md)
* [lower](./mods/lower.md)
* [date_format](./mods/date_format.md)
* [date](./mods/date.md)
* [truncate](./mods/truncate.md)
* [escape](./mods/escape.md)
* [unescape](./mods/unescape.md)
* [strip](./mods/strip.md)
Also see [allowed functions](./mods/allowed_functions.md).
**Internal tags**
* [var](./tags/var.md)
* [if](./tags/if.md), `elseif` and `else`
* [foreach](./tags/foreach.md), `foreaelse`, `break` and `continue`
* [for](./tags/for.md), `break` and `continue`
* [while](./tags/while.md), `break` and `continue`
* [switch](./tags/switch.md), `case`, `default` and `break`
* [include](./tags/include.md)
* [extends](./tags/extends.md), `use` and `block`
* [capture](./tags/capture.md)
* [filter](./tags/filter.md)
* [ignore](./tags/ignore.md)
**Extend Aspect**
* [Add tags](./ext/tags.md)
* [Add modificators](./ext/mods.md)
* [Add template provider](./ext/provider.md)
* [Parsing](./ext/parsing.md)

48
docs/settings.md Normal file
View File

@ -0,0 +1,48 @@
Настройка
=========
### Параметры
#### Исходные шаблоны
Добавить папку с шаблонами:
```php
$aspect->addTemplateDir($dir);
```
Шаблонизатор последовательно будет перебирать папки и искать указанный шаблон.
#### Сборки шаблонов
Задаёт папку в которую будут сохранятся преобразованные в PHP шаблоны
```php
$aspect->setCompileDir($dir);
```
#### Опции
```php
$aspect->setOptions($options);
```
Массив `'option_name' => boolean` (если ключ не указан автоматически задаётся false)
* **disable_methods**, `boolean`, запретить вызов методов у объектов
* **disable_native_funcs**, `boolean`, запретить использование PHP функций, кроме разрешенных
* **disable_set_vars**, `boolean`, запретить изменять или задавать переменные
* **include_sources**, `boolean`, вставлять исходный код шаблона в его сборку
* **compile_check**, `boolean`, сравнивать mtime у исходного шаблона и его сборки. При изменении исходного шаблона будет производится его пересборка (замедляет работу шаблонизатора).
* **force_compile**, `boolean`, пересобирать шаблон при каждом вызове (сильно замедляет работу шаблонизатора).
* **force_include**, `boolean`.
или битовая маска из флагов:
* `Aspect::DENY_METHODS` то же что и **disable_methods**
* `Aspect::DENY_INLINE_FUNCS` то же что и **disable_native_funcs**
* `Aspect::DENY_SET_VARS` то же что и **disable_set_vars**
* `Aspect::INCLUDE_SOURCES` то же что и **include_sources**
* `Aspect::CHECK_MTIME` то же что и **compile_check**
* `Aspect::FORCE_COMPILE` то же что и **force_compile**
* `Aspect::FORCE_INCLUDE` то же что и **force_include**

View File

@ -194,82 +194,4 @@
document.body.appendChild(e);
})('test');
</script>
```
Настройка
=========
### Параметры
#### Исходные шаблоны
Добавить папку с шаблонами:
```php
$aspect->addTemplateDir($dir);
```
Шаблонизатор последовательно будет перебирать папки и искать указанный шаблон.
#### Сборки шаблонов
Задаёт папку в которую будут сохранятся преобразованные в PHP шаблоны
```php
$aspect->setCompileDir($dir);
```
#### Опции
```php
$aspect->setOptions($options);
```
Массив `'option_name' => boolean` (если ключ не указан автоматически задаётся false)
* **disable_methods**, `boolean`, запретить вызов методов у объектов
* **disable_native_funcs**, `boolean`, запретить использование PHP функций, кроме разрешенных
* **disable_set_vars**, `boolean`, запретить изменять или задавать переменные
* **include_sources**, `boolean`, вставлять исходный код шаблона в его сборку
* **compile_check**, `boolean`, сравнивать mtime у исходного шаблона и его сборки. При изменении исходного шаблона будет производится его пересборка (замедляет работу шаблонизатора).
* **force_compile**, `boolean`, пересобирать шаблон при каждом вызове (сильно замедляет работу шаблонизатора).
или битовая маска из флагов:
* `Aspect::DENY_METHODS` то же что и **disable_methods**
* `Aspect::DENY_INLINE_FUNCS` то же что и **disable_native_funcs**
* `Aspect::DENY_SET_VARS` то же что и **disable_set_vars**
* `Aspect::INCLUDE_SOURCES` то же что и **include_sources**
* `Aspect::CHECK_MTIME` то же что и **compile_check**
* `Aspect::FORCE_COMPILE` то же что и **force_compile**
### Модификаторы
Добавить модификатор:
```php
$aspect->addModifier($modifier, $callback);
```
* `$modifier` - имя модификатора
* `$callback` - строка с именем функции
### Теги
Теги делятся на компилеры и функции.
Компилеры формируют синтаксис языка шаблона, добавляя такой функционал как foreach, if, while и т.д. В то время как функции - обычный вызов некоторой именованной функции
Добавить компилер:
```php
$aspect->addCompiler($compiler, $parser);
```
* `$compiler` - имя модификатора
* `$parser` - функция разбора тега в формате function (MF\Tokenizer $tokens, MF\Aspect\Template $tpl) {}
Добавить блочный компилер:
```php
$aspect->addBlockCompiler($compiler, $parsers, $tags);
```