Я знаю, що ця справді стара, але є можливість для вдосконалення.
Вам слід розглянути можливість використання $ GLOBALS ['категорії'] замість просто глобального.
Для цього є дві причини:
- Нам не потрібно писати
global $categories;
кожен раз.
- Це зрозуміло, тоді ми використовуємо глобальний, а потім ні.
Розглянемо цей код:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
Тільки якщо ми ініціалізуємо глобальний стан безпосередньо перед використанням змінної, досить важко сказати, глобальна вона чи ні. І не забудьте повторити це в будь-якому з файлів шаблонів.
Для цього можна використовувати конвенції іменування, але є кращий спосіб, на мою думку.
Подумайте про використання $GLOBALS['categories']
.
Нам залишається лише один раз ініціалізувати нашу змінну у function.php, не задумуючись global $categories
знову. І ми можемо побачити, що це глобальний.
print_r ($GLOBALS['categories']);
Випуск ефективності - це зовсім не проблема в цій ситуації. Я цитую Сару Големон ( посилання ):
Що це означає для використання масиву $ GLOBALS? Правильно, глобальне ключове слово технічно швидше. Тепер я хочу бути зрозумілим щодо однієї речі тут. Невелика швидкість, надана завдяки використанню ваших глобальних мереж як локалізованих [компільованих змінних], потрібно серйозно протистояти ремонтопридатності дивитися на ваш код за п’ять років і знати, що $ foo прийшов з глобальної сфери. something_using ($ GLOBALS ['foo']); ЗАВЖДИ буде вам зрозумілішим внизу, ніж глобальний $ foo; / * buncha-код * / something_using ($ foo); Не будьте копійчаними і нерозумними фунтами ..