Обзор вспомогательных классов

Вспомогательные классы (хелперы) в Joomla API - это набор классов, включающих в себя различные служебные функции, которые помогают при работе с ядром и расширениями.

Давайте кратко рассмотрим, для чего используется каждый из этих классов.

ApplicationHelper

Вспомогательный класс приложения.

Основные методы:

  • getComponentName($default = null) - возвращает имя компонента из запроса, например com_something;
  • getHash($seed) - возвращает безопасный хеш (MD5), используя secret из конфига;
  • stringURLSafe($string, $language = '') - метод транслитерирует строку в URL-безопасную строку или возвращает URL-безопасную UTF-8 строку.

Подробнее о классе.

AssociationExtensionHelper

Вспомогательный класс для работы с ассоциациями.

Основные методы:

  • getAssociationList($typeName, $itemId) - возвращает массив ассоциированных элементов заданного элемента;
  • getType($typeName = '') - возвращает массив, информацию о типе;
  • hasAssociationsSupport() - проверяет, поддерживает ли расширения ассоциации.

Подробнее о классе.

AuthenticationHelper

Вспомогательный класс аутентификации.

Класс содержит один метод getTwoFactorMethods() - возвращает массив доступных методов двухфакторной аутентификации.

Подробнее о классе.

CMSHelper

Вспомогательный класс CMS.

Основные методы:

  • getCurrentLanguage($detectBrowser = true) - получает текущий язык;
  • getRowData(TableInterface $table) - возвращает ассоциативный массив колонок и значений ряда таблицы;
  • getDataObject(TableInterface $table) - возвращает стандартный объект, содержащий все колонки и значения таблицы.

Подробнее о классе.

ClientHelper

Вспомогательный класс клиента (на данный момент поддерживается только FTP).

Основные методы:

  • getCredentials($client, $force = false) - возвращает массив параметров клиентского слоя;
  • setCredentials($client, $user, $pass) - используется для установки учетных данных клиента для входа;
  • hasCredentials($client) - используется для определения, существуют ли учетные данные клиента для входа.

Подробнее о классе.

ComponentHelper

Вспомогательный класс компонентов.

Основные методы:

  • getComponent($option, $strict = false) - возвращает объект с информацией о компоненте;
  • getParams($option, $strict = false) - возвращает параметры компонента в виде объекта Registry;
  • isEnabled($option) - проверяет, установлен ли компонент.

Подробнее о классе.

ContentHelper

Вспомогательный класс для компонентов.

Основной метод:

getActions($component = '', $section = '', $id = 0) - возвращает список действий, которые можно выполнить, в виде CMSObject.

Подробнее о классе.

ContentHistoryHelper

Вспомогательный класс для работы с версионностью.

Основные методы:

  • deleteHistory($table) - удаляет историю элемента;
  • getHistory($typeId, $id) - возвращает список доступных версий элемента;
  • store($table) - сохраняет snapshot версии в таблицу истории.

Подробнее о классе.

FilesystemHelper

Вспомогательный класс для файловой системы (в частности stream).

Основные методы:

  • getJStreams() - возвращает массив J! стримов;
  • fileUploadMaxSize($unit_output = true) - подсчитывает максимальный размер загружаемого файла и возвращает строку в заданных единицах или в байтах;
  • ftpChmod($url, $mode) - быстрый FTP chmod.

Подробнее о классе.

FormHelper

Вспомогательный класс для работы с формами.

Основные методы:

  • addFieldPath($new = null) - добавляет путь к списку подключаемых путей поля;
  • addFormPath($new = null) - добавляет путь к списку подключаемых путей формы;
  • addRulePath($new = null) - добавляет путь к списку подключаемых путей правила;
  • loadFieldClass($type) - импортирует класс FormField, если он не был импортирован ранее;
  • loadRuleClass ($type)- импортирует класс FormRule, если он не был импортирован ранее.

Подробнее о классе.

HTMLHelper

Вспомогательный класс для отрисовки HTML элементов.

Основные методы:

  • stylesheet($file, $options = array(), $attribs = array()) - создает элемент <link> для загрузки CSS файла. Поддерживает переопределение;
  • script($file, $options = array(), $attribs = array()) - создает элемент <script> для загрузки Javascript файла. Поддерживает переопределение.

Подробнее о классе.

InstallerHelper

Вспомогательный класс установщика.

Основные методы:

  • cleanupInstall($package, $resultdir) - очищает временно загруженный пакет и распакованное расширение;
  • detectType($p_dir) - определяет тип расширения из директории пакета;
  • downloadPackage($url, $target = false) - скачивает пакет и возвращает путь до него;
  • getFilenameFromUrl($url) - получает имя файла из URL.

Подробнее о классе.

LanguageHelper

Вспомогательный класс для работы с языком.

Основные методы:

  • detectLanguage() - используется для определения языка;
  • getLanguages($key = 'default') - возвращает массив опубликованных языков;
  • getContentLanguages($publishedStates = array(1), $checkInstalled = true, $pivot = 'lang_code', $orderField = null, $orderDirection = null) - возвращает массив языков контента;
  • exists($lang, $basePath = JPATH_BASE) - проверяет, существует ли директория языка.

Подробнее о классе.

LayoutHelper

Вспомогательный класс для работы с макетами.

Основные методы:

  • debug($layoutFile, $displayData = null, $basePath = '', $options = null) - используется для рендеринга макета с отладочной информацией;
  • render($layoutFile, $displayData = null, $basePath = '', $options = null) - используется для рендеринга макета.

Подробнее о классе.

LibraryHelper

Вспомогательный класс для работы с библиотеками.

Основные методы:

  • getLibrary($element, $strict = false) - возвращает информацию о библиотеке в виде объекта Registry;
  • getParams($element, $strict = false) - возвращает параметры библиотеки в виде объекта Registry;
  • isEnabled($element) - проверяет, включена ли библиотека;
  • saveParams($element, $params) - сохраняет объект параметров библиотеки.

Подробнее о классе.

MailHelper

Вспомогательный класс для работы с электронной почтой.

Основные методы:

  • cleanAddress($address) - проверяет, что в адрес электронной почты не вставлены дополнительные заголовки;
  • cleanBody($body) - удаляет все вставленные заголовки из тела письма;
  • cleanSubject($subject) - удаляет все вставленные заголовки из темы письма;
  • isEmailAddress($email) - проверяет, что строка имеет правильный формат адреса электронной почты.

Подробнее о классе.

MediaHelper

Вспомогательный класс для работы с медиа.

Основные методы:

  • canUpload($file, $component = 'com_media') - проверяет, может ли быть загружен файл;
  • countFiles($dir) - подсчитывает файлы и директории  в директории, которые не являются php или html файлами;
  • getMimeType($file, $isImage = false) - возвращает тип Mime;
  • isImage($fileName) - проверяет, является ли файл изображением.

Подробнее о классе.

ModuleHelper

Вспомогательный класс для работы с модулями.

Основные методы:

  • &getModule($name, $title = null) - получает объект модуля по имени (реальному, например Breadcrumbs или по директории, например mod_breadcrumbs);
  • &getModules($position) - получает массив модулей по названию позиции;
  • getLayoutPath($module, $layout = 'default') - возвращает путь до макета модуля;
  • renderModule($module, $attribs = array()) - используется для рендеринга модуля.

Подробнее о классе.

PluginHelper

Вспомогательный класс для работы с плагинами.

Основные методы:

  • isEnabled($type, $plugin = null) - проверяет, включен ли плагин;
  • importPlugin($type, $plugin = null, $autocreate = true, DispatcherInterface $dispatcher = null) - загружает все файлы плагинов для определенного типа, если не указан конкретный плагин, в противном случае загружается только конкретный плагин;
  • getLayoutPath($type, $name, $layout = 'default') - возвращает путь до макета модуля;
  • getPlugin($type, $plugin = null) - возвращает объект с данными о плагине.

Подробнее о классе.

PunycodeHelper

Вспомогательный класс для работы с UTF-8 URL.

Основные методы:

  • toPunycode($utfString) - преобразует UTF-8 строку в Punycode;
  • fromPunycode($punycodeString) - преобразует Punycode строку в UTF-8;
  • emailToPunycode($email) - преобразует UTF-8 адрес электронной почты в Punycode;
  • emailToUTF8($email) - преобразует Punycode адрес электронной почты в UTF-8;
  • urlToPunycode($uri) - преобразует UTF-8 URL в Punycode;
  • urlToUTF8($uri) - преобразует Punycode URL в UTF-8.

Подробнее о классе.

RouteHelper

Вспомогательный класс для базового роутинга URL типов контента, которые находятся в таблицах #__content_types и #__ucm_content.

Основные методы:

  • getRoute($id, $typealias, $link = '', $language = null, $catid = null) - возвращает маршрут для конкретного элемента;
  • getCategoryRoute($catid, $language = 0, $extension = '') - возвращает маршрут категории.

Подробнее о классе.

SearchHelper

Вспомогательный класс для компонентов поиска.

Содержит один метод logSearch($term, $component) - сохраняет условия поиска в базе данных.

Подробнее о классе.

TagsHelper

Вспомогательный класс для работы с метками.

Основные методы:

  • deleteTagData(TableInterface $table, $contentItemId) - удаляет для элемента сопоставления меток и запись в таблице #__ucm_content;
  • getItemTags($contentType, $id, $getTagData = true) - получает массив меток для элемента;
  • getTagIds($ids, $prefix) - возвращает список ID меток элемента через запятую.

Подробнее о классе.

ToolbarHelper

Вспомогательный класс для работы с панелью инструментов.

Основная задача всех методов - это вывод элементов (кнопок) на панель инструментов. Например:

  • editList($task = 'edit', $alt = 'JTOOLBAR_EDIT') - выводит кнопку редактирования для списка записей;
  • save($task = 'save', $alt = 'JTOOLBAR_SAVE', $group = false) - выводит кнопку сохранения.

Подробнее о классе.

UserHelper

Вспомогательный класс для работы с пользователем и авторизацией.

Основные методы:

  • activateUser($activation) - активизирует пользователя;
  • addUserToGroup($userId, $groupId) - добавляет пользователя в группу:
  • getUserGroups($userId) - возвращает массив групп, в которых состоит пользователь:
  • removeUserFromGroup($userId, $groupId) - удаляет пользователя из группы:
  • genRandomPassword($length = 8) - генерирует случайный пароль:
  • hashPassword($password, $algorithm = self::HASH_BCRYPT, array $options = array()) - хеширует пароль, используя текущее шифрование:
  • verifyPassword($password, $hash, $user_id = 0) - проверяет пароль.

Подробнее о классе.

UserGroupsHelper

Вспомогательный класс для работы с группам пользователя.

Основные методы:

  • count() - подсчитывает загруженные группы;
  • get($id) - получает группу по ID;
  • getAll() - возвращает список существующих групп.

Подробнее о классе.

© 2019 BinaryCraft. Все права защищены.