четверг, 24 ноября 2011 г.

Создание расширения для CMS Joomla 1.7. Класс JModelItem Часть 4.2

В статье “Создание расширения для CMS Joomla 1.7. Часть 4” мы добавили к нашему расширению для CMS Joomla модель. Модель одна из важных составляющих компонента. Модель помогает нам взаимодействовать с данными. При создании модели мы использовали два класса: JError, который я описал в статье “Создание расширения для CMS Joomla 1.7. Класс JError Часть 4.1” и класс JModelItem. Данный пост и посвящен описанию класса JModelItem. Статья является переводом официальной документации.

Класс JModelItem - это прототип элемента, является подклассом JModel.
Переменные:
  1. string $_context = 'group.type' - контекст модели
  2. array $_item = null - пункт
Унаследованные переменные:
  1. string $event_clean_cache = null - событие. которое вызывается при очистки кеша
  2. string $name - имя модели
  3. string $option = null - URL для компонента
  4. string $state - состояние объекта
  5. object $_db - подключение к базе данных
  6. boolean $__state_set = null - указывает на то, что было установлено внутреннее состояние
  7. array $_errors  = array() - Массив сообщений об ошибке или JExceptions объектов.
Методы:
  1. getStoreId - метод для получения индентификатора хранения в зависимости от состояния конфигурации модели
    string getStoreId([ $id = ''], string $context)
    • string $context - индекс для индентификатора хранения
    • $id
Унаследованные методы:
  1. Constructor __construct - конструктор
    JModel__construct([array $config = array()])    
    • array $config - массив конфигурационных данных (name, state, dbo, table_path, ignore_request)
  1. addIncludePath - добавление каталога в котором JModel будет искать модели
    array addIncludePath([mixed $path = ''], [string $prefix = ''])
    • mixed $path - путь или массив путей для поиска
    • string $prefix - префикс для модели            
  1. addTablePath - добавляет в стек путей, модели таблицы в порядке LIFO.
    void addTablePath(mixed $path)
    • mixed $path - каталог в виде строки или каталоги в виде массива
  1. cleanCache - очистка кеша
    void cleanCache([string $group = null], string $client_id)
    • string $group - группа кеша
    • string $client_id - ID клиента
  1. getDbo - метод для получения данных о подключении в виде объекта
    JDatabase getDbo()            
  1. getInstance - возвращает модель объекта, всегда при его создании
mixed getInstance(string $type, [string $prefix = ''], [array $config = array()])
    • string $type - тип модели для создания экземпляра
    • string $prefix - префикс для имени класса модели
    • array $config - массив параметров конфигурации
  1. getName - метод для возвращения имени модели
string getName()
  1. getState - метод для получения переменных состояния модели
    object The getState([string $property = null], [mixed $default = null])
    • string $property - имя параметра
    • mixed $default - значения по умолчанию            
  1. getTable - метод для получения таблицы объекта, если необходимо, то загружает
    JTable getTable([string $name = ''], [string $prefix = ''], [array $options = array()])
    • string $name - имя таблицы
    • string $prefix - префикс класса
    • array $options - массив конфигурации модели
  1. populateState - метод для автоматического заполнения модели
    void populateState()            
  1. setDbo - метод установки параметров для подключения к базе данных
    void setDbo(object &$db)
    • object &$db - объект на основе JDatabase            
  1. setState - метод установки переменных состояния модели
    mixed setState(string $property, [mixed $value = null])
    • string $property - имя параметра
    • mixed $value - значения переменных или null
  1. _createFileName - создание файла для рескрса
    string _createFileName(string $type, [array $parts = array()])
    • string $type - тип ресурса для создания файла
    • array $parts - ассоциативный массив имен файлов
  1. _createTable - метод для загрузки и возвращения объектной модели
    mixed _createTable(string $name, [string $prefix = 'Table'], [array $config = array()])
    • string $name - имя представления
    • string $prefix - префикс класса
    • array $config - параметры конфигурации для передачи в JTable:: getInsance
  1. _getList - получает массив объектов из результата запроса к базе данных
    array _getList(string $query, integer $limitstart, integer $limit)
    • string $query - запрос
    • integer     $limitstart - номер записи с которой начинать
    • integer     $limit - количество записей            
  1. _getListCount - возвращает количество записей для запроса
    integer _getListCount(string $query)
    • string $query - запрос
  1. def - устнавливает значения по умолчанию, если не установлено другое
mixed def(string $property, [mixed $default = null])
    • string $property - имя свойства
    • mixed $default - значение по умолчанию
  1. get - возвращает свойства для объекта или значения по умолчанию, если они не установлены
    mixed get(string $property, [mixed $default = null])
    • string $property - имя свойства
    • mixed $default - значения по умолчанию            
  1. getError - получает последние сообщения об ошибке
    string getError([integer $i = null], [boolean $toString = true])
    • integer $i - индекс ошибки
    • boolean $toString - указывает какие JError объекты должны вернуть ошибки
  1. getErrors - возвращает все ошибки
    array getErrors()
  1. getProperties - возваращает ассоциативный массив свойств объекта
    array getProperties([boolean $public = true])
    • boolean $public - если истино, то возвращает только общие свойства
  1. set - изменяет свойства для объекта, создает если их небыло
    mixed set(string $property, [mixed $value = null])
    • string $property - имя свойства
    • mixed $value - значения по умолчанию
  1. setError - добавляет сообщение об ошибке
    void setError(string $error)
    • string $error - сообщение об ошибке
  1. setProperties - устанавливает свойства объекта на основе имени массива или хеша
    boolean setProperties(mixed $properties)
    • mixed $properties - или ассоциативный массив или другой объект
  1. toString
    string toString()
  1. __toString - конвертирует объект в строку
    string __toString() Итак, мы рассмотрели класс JModelItem, который нам так необходим при создании компонент для CMS Joomla. Еще раз хочу отметить, что данный пост является переводом официальной документации. После прочтения этого материала у Вас возникнут множество вопросов, на которые я попытаюсь ответить в следующих материалах. Для того, чтобы не пропустить выход новых постов подпишитесь на мой блог или ищите меня в Google+. Вы также можете следить за мной в twitter. Если у Вас возникли вопросы или Вы хотите поделиться своим мнением пишите комментарии. Я буду только рад услышать Вашу критику и Ваши мнения. Всем удачной разработки сайтов на CMS Joomla.

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



0 коммент.:

Отправить комментарий