Tengo una función que incluye un archivo basado en la cadena que se le pasa, es decir, la variable de acción de la cadena de consulta. Utilizo esto con fines de filtrado, etc. para que las personas no puedan incluir archivos que no deberían poder y, si el archivo no existe, se carga un archivo predeterminado. El problema es que cuando la función se ejecuta e incluye el alcance del archivo, se pierde porque el include se ejecutó dentro de una función. Esto se convierte en un problema porque utilizo un archivo de configuración global, luego utilizo archivos de configuración específicos para cada módulo en el sitio. La forma en que lo estoy haciendo en este momento es definir las variables que quiero usar como globales y luego sumarlas en la parte superior de la función de filtrado.PHP Conservar ámbito al llamar a una función
¿Hay alguna manera más fácil de hacerlo, es decir, conservando el alcance cuando se realiza una llamada de función o existe algo así como las macros de PHP?
Editar: ¿Sería mejor utilizar extracto ($ _ GLOBALS); dentro de mi llamada de función en su lugar?
Editar 2: Para cualquier persona que le haya importado. Me di cuenta de que ya estaba pensando en el problema y que, en lugar de usar una función, debería usar un include, duh! De esa manera puedo mantener mi alcance y tener mi pastel también.
En mi caso recurrir a su "Edición 2" y simplemente utilizando un include no funcionó porque he tengo muchas más cosas sucediendo. Básicamente, piense en ello como una clase "Ver" que requiere un viewcript.php que, dado que estamos en un ámbito de complemento, quiero pasar el alcance "global" al viewcript sin necesidad de declarar todas las variables como globales en el " doInclude "función. –