Полезные библиотеки
В 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() |