Caray, ya te he dicho que con usar include basta:
Código PHP:
Ver original$res=$ins->lista_hotel($lugar);
include 'vista.php';
vista.php
Código PHP:
Ver originalforeach($res as $clave=>$valor){
// ...
}
Entiende que las variables locales están siempre al alcance del include.
Pasarla por sesión es una tontería, no se donde leíste eso pero es pésima idea, ni al caso.
Desde luego el "cómo cargas la vista" es clave, pero o usas un include que es lo más básico, o te inventas una función:
Código PHP:
Ver originalfunction view($path, $data) {
include $path;
}
// ...
echo view('vista.php', ['hola' => 'mundo']);