Wiem, że ten jest naprawdę stary, ale istnieje pole do poprawy.
Powinieneś rozważyć użycie $ GLOBALS ['kategorie'] zamiast tylko globalnego.
Istnieją dwa powody:
- Nie musimy pisać
global $categories;
za każdym razem.
- To jasne, że używamy globalnych, a potem nie.
Rozważ ten kod:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
Tylko jeśli zainicjujemy stan globalny tuż przed użyciem zmiennej, trudno jest stwierdzić, czy jest ona globalna, czy nie. I nie zapomnij powtórzyć go w jednym z plików szablonów, które masz.
Można do tego wykorzystać konwencje nazewnictwa, ale moim zdaniem istnieje lepszy sposób.
Rozważ użycie $GLOBALS['categories']
.
Musimy zainicjować naszą zmienną tylko raz w functions.php, bez konieczności global $categories
ponownego myślenia . I widzimy, że jest globalny.
print_r ($GLOBALS['categories']);
W tej sytuacji problem z wydajnością wcale nie stanowi problemu. Zacytuję Sara Golemon ( link ):
Co to oznacza dla twojego korzystania z tablicy $ GLOBALS? Zgadza się, globalne słowo kluczowe jest technicznie szybsze. Teraz chcę jasno powiedzieć o jednej rzeczy tutaj. Niewielka afordancja prędkości, wynikająca z używania globali jako zlokalizowanych [skompilowanych zmiennych], musi zostać poważnie rozważona w stosunku do możliwości utrzymania twojego kodu w ciągu pięciu lat i świadomości, że $ foo pochodzi z globalnego zasięgu. something_using ($ GLOBALS ['foo']); ZAWSZE będą dla ciebie jaśniejsze niż globalne $ foo; / * kod pęczka * / coś_use ($ foo); Nie bądź głupi i głupiutki ...