понедельник, 21 ноября 2011 г.

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

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

Класс JError - это подкласс класса Error.
Переменные:
  1. mixed $handlers = array( E_NOTICE=> array('mode' => 'message'), E_WARNING => array('mode'=>'message'), E_ERROR => array( 'mode' => 'callback', 'options' => array ('JError', 'customErrorPage')))
  2. boolean $legacy = false - True включает режим обработки ошибок с использованием JError, если значение установить в False, то будет происходить обработка исключений.
  3. array $levels=array(E_NOTICE=>'Notice', E_WARNING=>'Warning', E_ERROR => 'Error') - массив уровней сообщений.
  4. mixed $stack = array()
Методы:
  1. addToStack - метод для добавления не JError исключений JExeptions к JError стеку для дальнейшей отладки
    void addToStack (JException &$e)            
  1. attachHandler - метод, который добавляет обработчик ошибок для JError
    void attachHandler()            
  1. customErrorHandler - показывает собственную страницу ошибки и красивый выход
    void customErrorHandler(integer $level, string $msg)
    • integer     $level:  уровень ошибки - использует любой из уровней в PHP ошибки: E_ERROR, E_WARNING, E_NOTICE, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE
    • string $msg: сообщение об ошибке, показывается пользователям, если это необходимо.
  1. customErrorPage - показывает собственную страницу ошибки и красивый выход
    void customErrorPage( &$error, object $error)
    • object $error: объект исключения
    • &$error            
  1. detachHandler - метод, который удаляет обработчик ошибок из JError
    void detachHandler()            
  1. getError - метод для получения последнего объекта исключения из стека ошибок
    mixed getError    ([boolean $unset = false])
  1. getErrorHandling - метод для получения текущих настроек обработчика ошибок для указанного уровня ошибки
    array getErrorHandling(integer $level)
    • integer $level: уровень ошибки, это может быть любой уровень из PHP
  1. getErrors - метод для получения стека исключений
    array getErrors()
  1. handleCallback - обратный вызов обработчика ошибок
    object The handleCallback( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error           
  1. handleDie - убийство обработчика ошибок
    object The handleDie( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error
  1. handleEcho - ответ обработчика ошибок
    object The handleEcho( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error
  1. handleIgnore - игнорирование обработчика ошибок
    object The handleLog( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error
  1. handleMessage - обработчик сообщений об ошибке, ставит в очередь сообщение об ошибке в систему очерерди
    object The handleMessage( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error            
  1. handleVerbose - подробный обработчик ошибок
    object The handleVerbose( &$error, array $options, object $error)
    • object $error: объект исключения для обработки
    • array $options: настройки обработчика
    • &$error  
  1. isError - метод для определения значения объекта исключения, данная проверка поддерживает как и JEception, так и объекты исключения PHP5
    boolean isError(mixed &$object)
    • mixed &$object: объект из стека            
  1. raise - создание нового объекта JExeption
    mixed raise(integer $level, string $code, string $msg, [mixed $info = null], [boolean $backtrace = false])
    • integer     $level: уровень ошибки, используется любой из PHP
    • string $code: код ошибки внутреннего приложения для ошибки
    • string $msg: сообщение об ошибке, показывается пользователям, если это необходимо   
    • mixed $info: дополнительно: дополнительная информация об ошибке
    • boolean $backtrace       
  1. raiseError - оберточный метод rise() с заданным уровнем ошибки E_ERROR
    object The raiseNotice(string $code, string $msg, [mixed $info = null])
    • string $code: код ошибки внутреннего приложения для ошибки
    • string $msg: сообщение об ошибке, показывается пользователям, если это необходимо   
    • mixed $info: дополнительно: дополнительная информация об ошибке
  1. raiseNotice - оберточный метод rise() с заданным уровнем ошибки E_NOTICE
    object The raiseNotice    (string $code, string $msg, [mixed $info = null])
    • string $code: код ошибки внутреннего приложения для ошибки
    • string $msg: сообщение об ошибке, показывается пользователям, если это необходимо   
    • mixed $info: дополнительно: дополнительная информация об ошибке   
  1. raiseWarning - оберточный метод rise() с заданным уровнем ошибки E_WARNING
    object The raiseWarning(string $code, string $msg, [mixed $info = null])
    • string $code: код ошибки внутреннего приложения для ошибки
    • string $msg: сообщение об ошибке, показывается пользователям, если это необходимо   
    • mixed $info: дополнительно: дополнительная информация об ошибке        
  1. registerErrorLevel - метод регистрации нового уровня ошибки для обработки ошибок
    boolean registerErrorLevel(integer $level, string $name, [string $handler = 'ignore'])
    • integer     $level: новый уровень ошибки
    • string $name: название уровня ошибки (человеко-читаемый)
    • string $handler: обработчик ошибок нового уровня ошибки (опционально)   
  1. renderBacktrace - визуализация трассировки
    string renderBacktrace(integer $error)
    • integer     $error: ошибка
  1. setErrorHandling - метод установки параметров JError. Используйте его, если хотите переопределить параметры по умолчанию
    mixed setErrorHandling(integer $level, string $mode, [mixed $options = null])
    • integer     $level: уровень ошибки для которого переустанавливаются параметры
    • string $mode: режим, используемый для обработки ошибки
    • mixed $options: опционально: любой параметр, необходимый для данного режима
  1. throwError - добавление ошибки
    reference hrowError( &$exception, object $exception)            
  1. translateErrorLevel - переводит номер ошибки в нормальный человеко-понятный вид
    mixed translateErrorLevel(integer $level)
    • integer     $level: уровень ошибки для перевода            
Ну вот и подошла к концу очередная не очень интересная, но достаточно полезная статья. Данная статья является простым переводом из официальной документации, поэтому не судите строго за неточность перевода.
А в следующей статье мы поговорим о классе JModelItem, который мы затронули в статье Создание расширения для CMS Joomla 1.7. Часть 4”. Если у Вас возникли вопросы или Вы что-то хотите уточнить пишите комментарии, я буду очень рад. И не забываем подписаться на мой блог. Также Вы можете меня найти в twitter или в Google+.

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

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



2 комментария:

  1. Прошу выложить ссылки на "следующие" уроки. Я либо их не смог найти, либо они отсутствуют. За ранее спасибо )

    ОтветитьУдалить
    Ответы
    1. http://zloykolobok.blogspot.com/2012/03/cms-joomla.html - это итоговая статья в ней есть ссылки на все уроки

      Удалить