Saya terbiasa menggunakan module_exists
modul, dan menggunakannya dalam situasi seperti:
- Aktifkan beberapa fungsi tambahan dalam sebuah modul, asalkan beberapa modul lain juga tersedia di situs. The Reservasi: Email modul berisi contoh (sebenarnya ada banyak contoh ini), seperti yang ditunjukkan dalam nya sumber modul : untuk menggunakan token (dalam tubuh eMail) mensyaratkan bahwa Token modul diaktifkan.
- Terapkan dependensi modul dalam sebuah tema, seperti yang ditunjukkan pada jawaban untuk " Bagaimana menerapkan dependensi modul dalam tema dan paket modul dengan tema? ".
Namun, ada juga function_exists
, seperti yang ditunjukkan dalam jawaban untuk " Apakah mungkin untuk mendeklarasikan ketergantungan perpustakaan Javascript di Hook.info? ".
Saya memiliki kesan bahwa menggunakan function_exists
adalah pendekatan yang lebih kuat (aman) dibandingkan dengan module_exists
. Terutama jika Anda ingin memastikan bahwa beberapa fungsi (ditambahkan dalam versi modul yang lebih baru) tersedia, sedangkan dengan hanya menggunakan module_exists
, Anda berisiko mengalami kesalahan seperti:
- jika sebuah situs adalah masih menggunakan tua versi modul, yang tidak memiliki fungsi belum (sehingga Anda tidak harus mencoba untuk menggunakannya belum ).
- jika situs sudah menggunakan versi baru modul, yang tidak memiliki fungsi itu lagi (jadi Anda tidak harus mencoba menggunakannya lagi ).
Pertanyaan saya : apa kriteria khas, atau pro / kontra, untuk memutuskan untuk menggunakan module_exists
versus function_exists
?