Saya tahu ini benar-benar tua, tetapi ada ruang untuk perbaikan.
Anda harus mempertimbangkan menggunakan $ GLOBAL ['kategori'] bukan hanya global.
Ada dua alasan untuk ini:
- Kami tidak harus menulis
global $categories;
setiap saat.
- Sangat jelas maka kita menggunakan global dan kemudian tidak.
Pertimbangkan kode ini:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
Hanya jika kita menginisialisasi keadaan global tepat sebelum menggunakan variabel, cukup sulit untuk mengatakannya, apakah itu global atau tidak. Dan jangan lupa untuk mengulanginya di semua file template yang Anda miliki.
Dimungkinkan untuk menggunakan konvensi penamaan untuk itu, tetapi menurut saya ada cara yang lebih baik.
Pertimbangkan untuk menggunakan $GLOBALS['categories']
.
Kita hanya perlu menginisialisasi variabel kita satu kali di functions.php tanpa harus memikirkan global $categories
lagi. Dan kita bisa melihat itu global.
print_r ($GLOBALS['categories']);
Masalah kinerja bukanlah masalah sama sekali dalam situasi ini. Saya akan mengutip Sara Golemon ( tautan ):
Apa artinya itu untuk penggunaan array $ GLOBALS Anda? Benar, kata kunci global secara teknis lebih cepat. Sekarang, saya ingin sangat jelas tentang satu hal di sini. Harga beli minor yang diberikan dengan menggunakan global Anda sebagai [variabel terkompilasi] yang terlokalisasi perlu ditimbang secara serius terhadap kelayakan untuk melihat kode Anda dalam lima tahun dan mengetahui bahwa $ foo berasal dari lingkup global. something_using ($ GLOBALS ['foo']); akan SELALU lebih jelas bagi Anda di telepon daripada global $ foo; / * kode buncha * / something_using ($ foo); Jangan bijak dan penumbuk bodoh ..