En realidad, desde un punto de vista técnico, puede usar require_once()
dentro de una función. Sin embargo, lo más probable es que sea una mala idea y no lo que realmente quieres hacer:
-
incluir código dentro de una función incluye literalmente el código allí. Esto significa que todo el código incluido se evalúa dentro del alcance de la función. PHP declara que todas las funciones son globales, pero las variables y las secuencias de código sin formato están vinculadas localmente, por lo que no son visibles fuera de la función ejecutada en este momento.
-
dado que utiliza una ruta relativa para cargar el archivo incluido, está limitado a ejecutar su función desde un determinado nivel del sistema de archivos. Esto limita cómo se puede usar su código...
Si bien esto podría ser lo que desea cuando el archivo incluido contiene alguna configuración local, es casi seguro que tropezará con esto:
require_once()
requiere solo una vez, para eso está la función. Esto significa:si ingresa su funcióngetTierOne()
más de una vez, luego, para cada ejecución subsiguiente,require_once()
simplemente no incluir ningún código, puesto que ya lo tiene en la primera ejecución. Entonces, ¡depende si incluye su configuración o no! ¡Ese es un diseño horrible!
Entonces, incluya su configuración globalmente y, por ejemplo, guárdela dentro de alguna variable a la que luego pueda referirse dentro de su función o use require()
o include()
para asegurarse de que la configuración realmente esté incluida en cada ejecución de la función.