Informática, Snippets

Pasar Variables a un Include en PHP

Si alguna vez hemos tenido la necesidad de pasar variables en un include para hacerlo dinámico, esto es algo muy común cuando reutilizamos componentes.

Os dejo una función que os ahorrará el trabajo.

// Include con Variables
function includeWithVariables($filePath, $variables = array(), $print = true)
{
    $output = NULL;
    if(file_exists($filePath)){
        // Extrae las variables en un entorno local
        extract($variables);

        // Empieza el buffering de salida
        ob_start();

        // Include el archivo
        include $filePath;

        // Termina el buffering y devuelve su contenido
        $output = ob_get_clean();
    }
    if ($print) {
        print $output;
    }
    return $output;

}

Luego de colocar nuestra función, podemos usarla donde queramos pasándole las variables.

<?php includeWithVariables('detalles.php', array('detalle' => 'Hola')); ?>

Y dentro de nuestro archivo PHP llamado detalles.php podríamos llamar a cualquier variable simplemente con

<? echo $detalle; ?>

Como habéis visto la solución para pasar variables o parámetros a un include es muy sencilla. Esperamos seguir ayudando y si tenéis cualquier duda, no dudéis en dejar vuestro comentario.

Tip de seguridad

Si las variables que le pasas al include vienen desde formularios o URLs ($_POST, $_GET, etc.), es buena práctica sanitizarlas antes de pasarlas, para evitar problemas de seguridad como XSS o inyecciones.