
YeltsinReyes
Mi
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Usuario popular!
Hola que tal, estoy tratando de hacerme una sencilla web usando "MVC", en el controlador puedo cargar una vista y pasarle un array
el cual lo convierto en variables usando la funcion extract(); el problema esta cuando cargo una vista dentro de otra vista usando el mismo metodo que use en el controlador, me carga el html bien pero las variables no me funcionan en esa vista.
Espero que me entiendan 😛
Ejemplo:
home.php
Index.php
Cargo el home.php, llamo al metodo vista y a la vista home y le paso el array.
vistas > home.php
Vista home.php donde puedo usar el arra convertido en variables y llamo la vista footer.php.
vistas > footer.php
En esta vista footer.php las variables no me funcionan!
En la vista home puedo llamar el footer directamente con un include('vistas/footer.php'); y las variable si funcionan en el footer.php
pero yo quiero usar el metodo de la clase home.
Alguna solucion para eso ???
el cual lo convierto en variables usando la funcion extract(); el problema esta cuando cargo una vista dentro de otra vista usando el mismo metodo que use en el controlador, me carga el html bien pero las variables no me funcionan en esa vista.
Espero que me entiendan 😛
Ejemplo:
home.php
PHP:
<?php
class Home {
public function vista($vista, $datos = false){
if($datos != false){
extract((array) $datos);
}
include('vistas/'.$vista.'.php');
}
}
?>
Index.php
Cargo el home.php, llamo al metodo vista y a la vista home y le paso el array.
PHP:
<?php
include('home.php');
$home= new Home();
$datos['titulo'] = 'Este es el titulo!';
$datos['footer'] = 'Este es el footer!';
$home->vista('home', $datos);
?>
vistas > home.php
Vista home.php donde puedo usar el arra convertido en variables y llamo la vista footer.php.
PHP:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo $titulo; ?></title>
</head>
<body>
<h1><?php echo $titulo; ?></h1>
<?php $this->vista('footer'); ?>
</body>
</html>
vistas > footer.php
En esta vista footer.php las variables no me funcionan!
PHP:
<footer><?php echo $footer; ?></footer>
En la vista home puedo llamar el footer directamente con un include('vistas/footer.php'); y las variable si funcionan en el footer.php
pero yo quiero usar el metodo de la clase home.
Alguna solucion para eso ???
Última edición: