Intereting Posts
PHP Показать исходный код вместо файла .html Вывод (эхо / печать) все из массива PHP Каков рекомендуемый способ хранения текущего времени с помощью PHP и MySQL? Поиск последнего дня предыдущего месяца в PHP Существуют ли какие-либо существенные причины для использования isset () над @ в php я добавляю этот код, но теперь sub <li> список меню не открыт..задание выполнено, но не открывает меню Laravel Request :: all () не следует называть статически Laravel 5.2 Регистрация событий Laravel Красноречивый Сумма столбца отношения Использовать образец прототипа или нет (PHP5) Извлечение тега заголовка и адреса RSS-канала из HTML с помощью PHP DOM или Regex Обход веб-сайта, получение ссылок, сканирование ссылок с помощью PHP и XPATH Предотвратить создание встроенного веб-сайта Передача нескольких переменных на другую страницу в URL-адресе PHP Firebird вставить blob-файл в базу данных apache внезапно прекратить работу

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, чтобы проверить, объявлена ​​ли функция до объявления?

Используйте require_once или include_once в отличие от include или require при включении файлов, содержащих ваши функции.

_once близнецы _once include и require заставят PHP проверить, был ли файл уже включен / необходим, и если да, не include / не require его снова, тем самым предотвратите фатальные ошибки « не можете обновить x функции … ».

 if(!function_exists("get_raw_data_list")) { ... define function here ... } 

http://us.php.net/function_exists

« function_exists » скажет вам, была ли функция уже объявлена. Хотя я подозреваю, что у вас есть проблема с включением файлов более одного раза. Когда вы включаете файл, вы используете require_once или include_once или просто требуете / включаете?

Если вы имеете дело с классами, method_exists() может быть тем, что вы ищете:

 if(!method_exists(__CLASS__, 'function_name')){ function function_name(){ } } 

Это проверит текущий класс, чтобы функция function_name не существовала, прежде чем пытаться объявить ее