[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: немного умнее инклюд
GiGnet
Нужна автоматом обработать ошибку inlude следующим образом:

function _include($file)
{
if (!file_exists($file)) {
trigger_error('');
return false;
}

include $file;
return true;
}

Результат инклуда должен возвращаться в вызывающий код, дабы корректно обработать ситуацию, но если происходит ошибка, то _LINE_ ссылается на соответствующую строку в _include(). И это понятно. Вопрос в том, как по другому можно обработать include. Exception не предлагать.



Спустя 37 минут, 13 секунд (14.01.2010 - 14:10) VolCh написал(а):
set_error_handler ?

Спустя 1 минута, 18 секунд (14.01.2010 - 14:11) krasilich написал(а):
require 'file.php' or die('Error!')

Спустя 21 минута, 38 секунд (14.01.2010 - 14:33) glock18 написал(а):
GiGnet
ну, это просто мега-велосипед. а какова практическая польза от него?

Спустя 1 час, 6 минут, 3 секунды (14.01.2010 - 15:39) GiGnet написал(а):
Цитата (glock18 @ 14.01.2010 - 11:33)
GiGnet
ну, это просто мега-велосипед. а какова практическая польза от него?

Я же написал, что мне нужно корректно обработать результат выполненеия include, обязательно в вызвавший код нужно вернуть true или false

Спустя 7 минут, 44 секунды (14.01.2010 - 15:47) vagrand написал(а):
GiGnet

include, если в подключаемом файле нет echo или другой функции, которая отдает контент браузеру, возвращает bool, по котрому ты сможеш определить был ли подключен файл или нет.

Спустя 12 минут, 10 секунд (14.01.2010 - 15:59) glock18 написал(а):
vagrand
то же самое, что вернет его функция кстати говоря. я почему и говорю, что толку от нее нет. и ошибка и так генерится, и возвращаемое значение то, которое хочет ТС.

Спустя 6 минут, 46 секунд (14.01.2010 - 16:06) vagrand написал(а):
glock18

Его функция делает одну ненужную проверку, а именно file_exists().
Для подавления ворнинга можно заюзать @.

Спустя 23 часа, 50 минут, 4 секунды (15.01.2010 - 15:56) Guest написал(а):
Я никогда ничего не подавляю. Все ошибки логируются.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.