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.