Блог о заработке, seo, joomla и не только...
Здравствуйте дорогие читатели блога. Сегодня я расскажу Вам почему нельзя использовать функцию die() в Joomla.
Функция die() заканчивает выполнение скрипта. Функцию die() нельзя использовать для завершения какой-либо функции в расширениях Joomla. Это может вызвать ряд ошибок в работе сайта. Наша Joomla хранит в базе данных некоторые данные о пользователях и их сессиях, при самостоятельном завершении работы сайта, закрываются все соединения с базой, корректно завершается работа фреймворка.
Если вы будете использовать данную функцию то получите взамен возможные следующие ошибки:
Warning: mysqli_query() [function.mysqli-query]: Couldn't fetch mysqli in ваш_сайт/libraries/joomla/database/database/mysqli.php on line 147
Возможны и другие ошибки.
Чтобы избежать использование функции die(), мы рекомендуем Вам использовать готовый метод close() глобального объекта $mainframe.
echo 'Тест';
$mainframe->close();
/*Или используйте:
jexit();
*/
При разработке собственных расширениях, можете объявить собственный предварительный обработчик перед завершением работы фреймворка. Например:
function stop($asdf = '') {
global $mainframe;
echo $asdf;
$mainframe->close();
/*Альтернатива:
echo $asdf;
jexit();
*/
}
Надеюсь Вам стало ясно насчет функции die(). В переводе с английского, die означает умри а exit означает выход.
Все вопросы задавайте в комментариях.