In C, #ifdef implica spesso la scrittura/abilitazione/disabilitazione del codice personalizzato in base alla presenza o meno di una definizione. Sebbene l'OP non stia cercando la risposta che segue, gli utenti dei motori di ricerca potrebbero essere interessati a ottenere una risposta espansa. (Questa domanda mi ha aiutato RTM a trovare la risposta che segue.)
Se uno ha un file .php che è incluso più volte, può essere conveniente dichiarare una funzione solo se non è stata già dichiarata da una precedente inclusione dello stesso file. La convenienza, in questo caso, è mantenere il codice strettamente correlato nello stesso file invece di doverlo inserire in un file include_once
.php separato e codice inutilmente separato che non deve essere generalmente riutilizzato in altri contesti (file).
Poiché sembra uno spreco/improprio funzioni ri-dichiarare più volte, si scopre che un # ifdef simile costrutto in PHP è possibile:
if (! function_exists('myfunc'))
{
function myfunc(...)
{
...
}
}
Dove ...
indica la fill-in-the- vuoto.
Vedere anche: function_exists (PHP 4, PHP 5) (con commenti).
http://php.net/manual/en/function.defined.php – j08691
Tecnicamente, no, poichè 'define' /' defined' di PHP sono valutati in ** runtime ** (i PHP sono quasi gli stessi di variabili), e non esiste un preprocessore ** (incorporato) ** che sia in grado di disabilitare un gruppo di righe di codice senza valutare la sua correttezza della sintassi (ad esempio, disabilitando il codice sintatticamente sbagliato con PHP 'if (definito (...)) 'non aiuterebbe). – leemes