RSS   Twitter   Copiny   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

 

Почему нельзя использовать функцию die()?

Использовать для отладки функцию die() нельзя! Это может вызвать ряд ошибок в работе сайта. Joomla некоторые данные о пользователях и их сессиях хранит в базе данных MySQL, при самостоятельном завершении работы сайта, закрываются все соединения с базой данных, коректно завершается работа Framework'а. При использовании  функции die() вы сильно рискуете получить ошибки такого рода

 

Warning: mysqli_query() [function.mysqli-query]:
Couldn't fetch mysqli in C:\Apache2\htdocs\www_site\libraries\joomla\database\database\mysqli.php on line 147

 

Либо

 

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
Access denied for user 'root'@'localhost' (using password: NO) in /var/www/html/libraries/joomla/database/database/mysql.php on line 105

 

Для этого лучше использовать готовый метод close() глобального объекта $mainframe.

echo 'Тест';
$mainframe->close();
/*
  Или используйте:
  jexit();
*/
 

При разработке собственных компонентов, можете объявить собственный предварительный обработчик перед завершением работы фреймворка. Например так:

function stop($msg = '') {
    global $mainframe;
    echo $msg;
    $mainframe->close();
    /*
      Альтернатива:
      echo $msg;
      jexit();
    */
}
 

Смотрите также:
Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.