Использование библиотек - PNixx/Boot GitHub Wiki

Подключение

Для подключения библиотек в проект, достаточно указать их имя, без расширения, в файле application/config/library.conf, каждое с новой строки.

Авторизация

system/library/auth.php - библиотека для авторизации пользователя на сайте.

Библиотека использует собственное шифрование для генерации токена авторизации. Шифрование происходит, используя ключ default.skey из файла application/config/application.ini.

Логирование

system/library/log.php - библиотека для логирования.

Библиотека записывает ошибки в файл log/error.log при срабатывании exception на production сервере.

Mail

system/library/mail.php - библиотека для отправки писем.

Библиотека позволяет отправлять структурированные письма стандартной функцией mail. Так же при возникновении exception на production сервере, если указан email ключ mail.error в конфиге application/config/application.ini.

Переводы

system/library/translate.php - библиотека переводов.

Библиотека позволяет использовать несколько языков на сайте. Структура файла, согласна стандарту *.po. Файлы переводов лежат в директории application/lang/.

Использование:

$this->translate->_("Hello") - controller, view. Возвращает переведенное слово, либо тот же самый текст.

Перехват ошибок

Boot_Exception_Interface - интерфейс перехвата ошибок. Прописывается к библиотекам. При возникновении ошибки, вызываются функции onException во всех библиотеках, расширенных данным интерфейсом в том порядке, в котором они указаны в файле application/config/library.conf.

Библиотека для дебага

system/library/debug.php - работает только в development режиме. Логирование происходит в файл log/debug.log (директория указывается в конфиге application/config/application.ini). Для отслеживания используем tail -f log/debug.log.

Формы

system/library/form.php - конструктор форм. Пример использования:

<? $f = new Boot_Form_Lib("images", $image, array("method" => "post")) ?>
    <?= $f->input('name', ['label' => 'Имя', 'required' => 'required', 'maxlength' => 255]) ?>
    <?= $f->input('file', ['as' => 'file', 'label' => 'Выберите файл для загрузки']) ?>
    <?= $f->input('enable', ['label' => 'Enable?', 'as' => 'checkbox']) ?>
    <?= $f->submit('Сохранить', ['class' => 'btn']) ?>
<? $f->end() ?>
⚠️ **GitHub.com Fallback** ⚠️