В C #ifdef часто включает в себя написание / включение / отключение пользовательского кода в зависимости от того, существует определение или нет. Хотя ОП не искал последующего ответа, пользователям поисковых систем может быть интересно получить расширенный ответ. (Этот вопрос помог мне RTM найти следующий ответ.)
Если у вас есть файл .php, который включается несколько раз, может быть удобно объявить функцию, только если она не была объявлена предыдущим включением того же файла. Удобство, в этом случае, заключается в том, чтобы хранить тесно связанный код в одном и том же файле, вместо того, чтобы помещать его в отдельный файл include_once
.php и излишне отдельный код, который не предназначен для повторного использования в других контекстах (файлах). ).
Поскольку повторное объявление функций несколько раз представляется расточительным / неправильным, оказывается, что возможна конструкция, похожая на # ifdef в PHP:
if (! function_exists('myfunc'))
{
function myfunc(...)
{
...
}
}
Где ...
обозначает заполнение поля.
См. Также: function_exists (PHP 4, PHP 5) (с комментариями).