Ho familiarità con l'utilizzo module_exists
in un modulo e l'utilizzo in situazioni come:
- Abilitare alcune funzionalità extra in un modulo, purché nel sito sia disponibile anche qualche altro modulo. Il modulo Prenotazioni: Email contiene un esempio (in realtà ce ne sono molti esempi), come mostrato nella fonte del suo modulo : per usare i token (nel corpo della e-mail) è necessario che il modulo Token sia abilitato.
- Implementare le dipendenze dei moduli in un tema, come mostrato nella risposta a " Come implementare le dipendenze dei moduli in un tema e pacchetti di moduli con un tema? ".
Tuttavia, esiste anche function_exists
, come mostrato nella risposta a " È possibile dichiarare una dipendenza della libreria Javascript su Hook.info? ".
Ho l'impressione che l'utilizzo function_exists
sia un approccio più robusto (sicuro) rispetto a module_exists
. Soprattutto se vuoi essere sicuro che alcune funzioni (aggiunte in una versione più recente di un modulo) siano disponibili, mentre semplicemente usando module_exists
rischi di incorrere in errori come quelli:
- se un sito è ancora utilizzando una vecchia versione di un modulo, che non ha quella funzione ancora (quindi non si dovrebbe cercare di usarlo ancora ).
- se un sito è già utilizzando una nuova versione di un modulo, che non ha che la funzione più (quindi non si dovrebbe cercare di usarlo più ).
La mia domanda : quali sono i criteri tipici, o pro / contro, per decidere se utilizzare entrambi i module_exists
versus function_exists
?