Estoy familiarizado con el uso module_exists
en un módulo, y usarlo en situaciones como:
- Habilite alguna funcionalidad adicional en un módulo, siempre que algún otro módulo esté disponible en el sitio también. El módulo Reservas: Correo electrónico contiene un ejemplo (en realidad, hay muchos ejemplos de esto), como se muestra en la fuente de su módulo : para usar tokens (en el cuerpo del correo electrónico) se requiere que el módulo Token esté habilitado.
- Implemente dependencias de módulos en un tema, como se muestra en la respuesta a " ¿Cómo implementar dependencias de módulos en un tema y paquetes de módulos con un tema? ".
Sin embargo, también existe function_exists
, como se muestra en la respuesta a " ¿Es posible declarar una dependencia de la biblioteca Javascript en Hook.info? ".
Tengo la impresión de que usar function_exists
es un enfoque más robusto (seguro) en comparación con module_exists
. Especialmente si desea asegurarse de que alguna función (agregada en una versión más nueva de un módulo) esté disponible, mientras que con solo usarla module_exists
, corre el riesgo de encontrarse con errores como esos:
- si un sitio está siendo utilizando una vieja versión de un módulo, que no tiene esa función todavía (lo que no debería tratar de usarlo sin embargo ).
- si un sitio está ya utilizando una nueva versión de un módulo, que no tiene esa función más (lo que no debería tratar de usarlo más ).
Mi pregunta : ¿cuáles son los criterios típicos, o pros / contras, para decidir el uso de module_exists
versus function_exists
?