RSS   Twitter   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();
    /*
      Альтернатива:
      jexit($msg);
    */
}

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




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

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