En C, #ifdef menudo implica la escritura de código/activación/desactivación personalizada en función de si una definición existe o no. Aunque el OP no estaba buscando la respuesta que sigue, los usuarios de los motores de búsqueda pueden estar interesados en obtener una respuesta expandida. (Esta pregunta me ayudó a RTM a encontrar la respuesta que sigue.)
Si uno tiene un archivo .php que se incluye varias veces, puede ser conveniente declarar una función solo si no se ha declarado anteriormente. del mismo archivo. Conveniencia, en este caso, es mantener el código relacionado estrechamente en el mismo archivo en lugar de tener que ponerlo en un archivo separado y include_once
.php código innecesariamente separado que no está destinado a ser generalmente reutilizado en otros contextos (archivos).
Puesto que parece un desperdicio/inadecuada para volver a declarar funciones múltiples veces, resulta que un #ifdef-como constructo en PHP es posible:
if (! function_exists('myfunc'))
{
function myfunc(...)
{
...
}
}
Dónde ...
indica su terraplén-en-el blanco.
Consulte también: function_exists (PHP 4, PHP 5) (w/comentarios).
http://php.net/manual/en/function.defined.php – j08691
Técnicamente, no, como '' define'/'defined' de PHP se evalúan en ** runtime ** (PHP define son casi lo mismo que variables), y no hay preinstalador (incorporado) ** que sea capaz de deshabilitar un grupo de líneas de código sin evaluar su corrección de sintaxis (por ejemplo, deshabilitar sintácticamente el código incorrecto con 'if (defined (...)) de PHP) 'no ayudaría). – leemes