Полезные библиотеки

В SyDES из коробки есть неколько полезных классов, позволяющих работать. Так же можно использовать и свои библиотеки, которые подгружаются автолоадером, если их разместить в папке /vendor.

Cache - Кэширование на файлах

$this->cache->get($key) Получает массив по уникальному ключу
$this->cache->set($key, $value[, $expire = false]) Сохраняет массив с опреденным ключом. Можно указать время хранения в секундах, отличное от дефолтного
$this->cache->clear([$key = false]) Удаляет кэш по ключу, или вообще весь, включая html-кэши страниц

Config - Хранение и работа с любыми конфигами

$config->get([$key = '']) Созвращает данные сохраненные под ключем, или массив всех данных
$config->set($data_array) Сохраняет массив как конфиг целиком
$config->set($key, $value) Сохраняет данные с указанным ключем
$config->delete([$key = false]) Удаляет данные с указанным ключом или вообще все
$config->save() Сохраняет в базу данных текущий конфиг

Пример использования

$config = new Config('my_module'); //загружает из базы данных конфиг my_module или создает новый, пустой
$url = '/some/url';
$config->set('url', $url)
$url2 = $config->get('url');
$config->delete('url')->save();

H - создание форм и html сниппетов

H::select($name, $value, array $source, $attr = array()) Создает выпадающий список
H::checkbox($name, $value, array $source, $attr = array()) Создает флажок-переключатель
H::radio($name, $value, array $source, $attr = array()) Создает радио-переключатель
H::yesNo($name, $status) Создает радио-переключатель с двумя значениями, Да и Нет
H::string($name, $value, $attr = array()) Создает текстовое поле
H::input($name, $value, $type, $attr = array()) Создает поле с любым типом
H::hidden($name, $value, $attr = array()) Создает скрытое поле
H::textarea($name, $value, $attr = array()) Создает textarea
H::button($label = 'Submit', $type = 'submit', $attr = array()) Создает кнопку
H::password($name, $attr = array()) Создает поле для пароля
H::link($title, $href, $attr = array()) Создает ссылку
H::saveButton($file = '', $button = '') Создает специальную кнопку сохранения для админки
H::breadcrumb($crumbs) Создает хлебные крошки
H::pagination($url, $total, $current, $limit = 10, $class = 'pagination', $links = 3) Создает пагинатор
H::treeList(array $data, closure $callback, $attr = '', $max_level = 20) Создает дерево из ненумерованных списков с любым контентом, возвращаемым колбеком
H::listLinks($data, $current = '', $attr = '') Создает плоский список с сылками
H::table($rows, $header = array(), $attr = '') Создает таблицу
H::tab($data, $current = '', $position = 'top', $attr = '') Создает табы
H::accordion($data, $current = '') Создает аккордион
H::modal($title, $body = '', $footer = '', $form_url = '') Создает модальное окно
H::form($data) Создает простую, плоскую форму на основе массива
H::attr($attr) Создает строку аттрибутов из массива
H::parseAttr($attr_string) Парсит строку аттрибутов элемента в массив

Loader - загрузчик моделей, представлений и языковых пакетов

$this->load->model($module[, $global = true]) Загружает модель выбраного модуля в переменную вида $this->вашмодуль_model. Если передать вторым аргументом false, то возвращает модель.
$this->load->view($template, $data = array()) Возвращает шаблон с всталенными данными, переданными во втором аргументе.
$template должен быть строкой вида mymodule/view, где view - имя файла в папке /system/module/mymodule/view/
$this->load->language($filename[, $global = true[, $language = false]]) Загружает в глобальную переменную или возвращает переводы на текущий язык определенного модуля или инфоблока.
$filename должен быть строкой вида module_mymodule или iblock_myiblock
Третьим аргументом можно указать язык для переводов.

Request - все данные из запроса

$this->request->get['key'] Очишенные данные из $_GET
$this->request->post['key'] Очишенные данные из $_POST
$this->request->cookie['key'] Данные из $_COOKIE
$this->request->files['key'] Данные из $_FILES
$this->request->server['key'] Данные из $_SERVER

Response - сборщик всех данных для ответа сервера

$this->response->notify($message[, $status = 'success']) Добавляет в ответ уведомление с определенным статусом. После отображения страницы, оно всплывет в правом верхнем углу. Работает для обычных и AJAX запросов
$this->response->alert($message[, $status = 'success']) Добавляет в ответ предупреждение с определенным статусом. При отображении страницы, оно появляется перед контентом. Работает для обычных и AJAX запросов
$this->response->addHeader($header) Добавляет строку заголовка ответа
$this->response->addJsL10n($array) Добавляет в ответ массив переводов текстов для js. Сам перевод осуществляется с помошью функции syd.t('word')
$this->response->addJsSettings($array) Добавляет в ответ массив с настройками для js. Доступно через syd.settings
$this->response->redirect([$url = '']) Экстренное завершение программы и редирект на главную страницу или в нужном направлении. Работает для обычных и AJAX запросов
$this->response->reload() Сообщает странице, чтобы после AJAX запроса она перезагрузилась.
$this->response->flush() Экстренное завершение программы, отправка заголовков и тела ответа
$this->response->data Массив для хранения всех данных, которые потребуется передать в ответе. Рендер именно оттуда берет информацию.
$this->response->style Список файлов стилей, которые требуется добавить на страницу
$this->response->script Список файлов скриптов, которые требуется добавить на страницу
$this->response->body Сюда можно положить готовое тело ответа, перед тем как вызвать flush()



Если вы хотите что-то узнать дополнительно - спрашивайте в комментариях. Документация будет дополняться по вашим вопросам.
© Arthur Grand, 2011–2024
Powered by SyDES