PHP: как избежать повторного использования функций?
Я получаю ошибки, такие как:
Неустранимая ошибка: не удается обновить get_raw_data_list() (ранее объявленный в /var/www/codes/handlers/make _a_thread/get_raw_data_list.php:7) в/var/www/codes/handlers/make_a_thread/get_raw_data_list.php в строке 19
как я могу избежать ошибки? Возможно ли создать предложение IF, чтобы проверить, объявлена ли функция до объявления?
Ответы
Ответ 1
Используйте require_once
или include_once
как против include
или require
при включении файлы, содержащие ваши функции.
Братья-сироты _once
include
и require
заставят PHP проверить, был ли файл уже включен/требуется, и если да, то не include
/require
он снова, тем самым предотвращая "can not redeclare x function..." фатальные ошибки.
Ответ 2
if(!function_exists("get_raw_data_list")) {
... define function here ...
}
http://us.php.net/function_exists
Ответ 3
" function_exists" сообщит вам, если функция уже объявлена. Хотя я подозреваю, что у вас есть проблема с включением файлов более одного раза. Когда вы включаете файл, вы используете require_once или include_once или просто требуете/include?
Ответ 4
Если вы имеете дело с классами method_exists()
, возможно, это то, что вы ищете:
if(!method_exists(__CLASS__, 'function_name')){
function function_name(){
}
}
Это проверит текущий класс, чтобы функция function_name
не существовала, прежде чем пытаться объявить ее