Sé que este es realmente viejo, pero hay un margen de mejora.
Debería considerar usar $ GLOBALS ['categorías'] en lugar de solo global.
Hay dos razones para esto:
- No tenemos que escribir todo el tiempo
global $categories;
.
- Está claro como el cristal que estamos usando global y luego no.
Considera este código:
global $categories;
// a lot of PHP code here
<?php print_r ($categories) ?>
Solo si inicializamos el estado global justo antes de usar la variable, es bastante difícil saber si es global o no. Y no olvide repetirlo en cualquiera de los archivos de plantilla que tenga.
Es posible usar convenciones de nomenclatura para eso, pero hay una mejor manera, en mi opinión.
Considera usar $GLOBALS['categories']
.
Solo tenemos que inicializar nuestra variable una vez en functions.php sin tener que pensar de global $categories
nuevo. Y podemos ver que es global.
print_r ($GLOBALS['categories']);
El problema de rendimiento no es un problema en absoluto en esta situación. Citaré a Sara Golemon ( enlace ):
¿Qué significa eso para su uso de la matriz $ GLOBALS? Así es, la palabra clave global es técnicamente más rápida. Ahora, quiero ser realmente claro sobre una cosa aquí. La capacidad de velocidad menor dada al utilizar sus globales como [variables compiladas] localizadas debe sopesarse seriamente con la facilidad de mantenimiento de mirar su código en cinco años y saber que $ foo provino del alcance global. something_using ($ GLOBALS ['foo']); SIEMPRE será más claro para usted en el futuro que $ global foo; / * código buncha * / something_using ($ foo); No seas centavo y tonto.