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 не существует, прежде чем пытаться объявить его