PHP: как избежать повторного объявления функций?
Я, как правило, получаю ошибки, такие как:
неустранимая ошибка: не удается повторно объявить get_raw_data_list () (ранее объявленный в /var/www/codes/handlers/make_a_thread / get_raw_data_list.php: 7) in /var/www/коды/обработчики/make_a_thread/get_raw_data_list.php on line 19
Как я могу избежать этой ошибки? Можно ли создать предложение IF, чтобы проверить, объявлена ли функция перед ее объявлением?
4 ответов
использовать require_once
или include_once
в противоположность include
или require
при включении файлов, содержащих ваши функции.
на _once
братья и сестры include
и require
заставит PHP проверить, был ли файл уже включен / необходим, и если да, то не include
/require
это снова, тем самым предотвращая ' не удается переопределить функцию x...'.
"function_exists " сообщит вам, если функция уже объявлена. Хотя я подозреваю, что у вас есть проблема с включением файлов более одного раза. Когда вы включаете файл, вы используете require_once или include_once или просто require / include?
Если вы имеете дело с классами method_exists()
может быть то, что вы ищете:
if(!method_exists(__CLASS__, 'function_name')){
function function_name(){
}
}
Это проверит текущий класс, чтобы сделать эту функцию function_name
не существует, прежде чем пытаться объявить его