2017 © Pedro Peláez
 

library template

Нативный PHP шаблонизатор

image

arhone/template

Нативный PHP шаблонизатор

  • Saturday, June 9, 2018
  • by arh
  • Repository
  • 1 Watchers
  • 3 Stars
  • 48 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 2 % Grown

The README.md

Templater

Нативный шаблонизатор (PHP 7), (*1)

Шаблонизатор предназначен для удобного разделения бизнес логики и логики представления., (*2)

Позволяет подключать файлы шаблонов и передавать в них готовые данные., (*3)

Установка

composer require arhone/templater, (*4)

render(__DIR__ . '/template/default.tpl', [
    'title' => 'Мой сайт'
]);
```
template/default.tpl:
```php

<html>
    <title><?=$title?></title>
</html>
Указание нескольких шаблонов

Допустим у вас есть модуль, у него есть шаблон по умолчанию, но пользователь хочет заменить его своим шаблоном., (*5)

Что бы сохранить исходный шаблон, вы можете указать путь к дополнительному шаблону, если он существует, то шаблонизатор подключит его, если нет, то подключиться стандартный., (*6)

render([
    __DIR__ . '/template/extend/myModule/default.tpl', // Новый
    __DIR__ . '/myModule/template/default.tpl' // Стандартный
]); // Подключиться template/extend/myModule/default.tpl если он существует
```

##### Использование общих блоков
Такие переменные доступны во всех шаблонах.

Это позволяет наследовать шаблоны и переопределять их блоки.

###### Установка значения блока

```php
body = 'Содержимое';
$templater->set('body', 'Содержимое'); // Тоже самое

echo $templater->body;
```

###### Дописывание содержимого в блок

```php
body .= ' продолжение';
$templater->add('body', ' продолжение'); // Тоже самое

echo $templater->body;
```

###### Получение содержимого

```php
body;
echo $templater->get('body'); // Тоже самое
```

###### Удаление содержимого

```php
body = null;
$templater->delete('body'); // Тоже самое
unset($templater->body); // Тоже самое
```

###### Установка значения по умолчанию

```php

<html>
    <title><?=$this->title ?? 'Заголовок'?></title>
    <body>
    <?php $this->default('body')?>
        <div>Содержимое</div>
    <?=$this->end('body')?>
    </body>
</html>

Метод default добавляет значение по умолчанию, это значение будет использовано в случае если свойство не было задано., (*7)

body = 'Значение';
$templater->default('body', 'По умолчанию');
echo $templater->body; // Выведет "Значение"
```

```php
body = 'Значение';
$templater->default('body', 'По умолчанию');
unset($templater->body);
echo $templater->body; // Выведет "По умолчанию"
```

Таким образом можно переопределять блоки стандартных шаблонов

```php
render(__DIR__ . '/slave.tpl');
```

```php


set('body')?>
    <div>Содержимое</div>
end('body')?>

=$this->render(__DIR__ . '/default.tpl')?>


default('body')?>
    Значение по умолчанию
=$this->end('body')?>
htmlspecialchars() с исключениями

Когда нужно разрешить отрисовывать только некоторые html теги, например p или code, (*8)



add('body')?>

    <strong>strong</strong>
    <b>b</b>
    <p>p</p>
    <div class="test">div</div>
    <img src="" alt="img">
    <code class="html"><div>div</div></code>

=$this->specialChars($this->end('body'), [
    'strong',
    'p',
    'img' => ['src', 'alt'],
    'code' => ['class']
])?>

Для всего остального есть PHP :), (*9)

The Versions

09/06 2018

dev-master

9999999-dev https://github.com/arhone/template

Нативный PHP шаблонизатор

  Sources   Download

MIT

The Requires

  • php ^7.0

 

by Алексей Арх

03/03 2018

dev-dev

dev-dev https://github.com/arhone/template

Нативный PHP шаблонизатор

  Sources   Download

MIT

The Requires

  • php ^7.0

 

by Алексей Арх

21/12 2017

1.0.2

1.0.2.0 https://github.com/arhone/template

Нативный PHP шаблонизатор

  Sources   Download

MIT

The Requires

  • php ^7.0

 

by Алексей Арх

14/12 2017

1.0.1

1.0.1.0 https://github.com/arhone/template

Нативный PHP шаблонизатор

  Sources   Download

MIT

The Requires

  • php ^7.0

 

by Алексей Арх

23/10 2017

1.0.0

1.0.0.0 https://github.com/arhone/template

Нативный PHP шаблонизатор

  Sources   Download

MIT

The Requires

  • php ^7.0

 

by Алексей Арх