Nueva pregunta

Pregunta:

Fecha: 12-03-2019 19:44:18 (En Español)

Como cargar las vistas en arquitectura MVC usando ajax[No resuelta]

Buenas gente, tengo un pequeño problema que hasta ahora no le encuentro solucion logica resulta que estoy usando MVC cargando las vistas pero necesito hacerlo usando Ajax parto de el archivo index.php donde normalmente se carga la vista por defecto:
<?php
require('conf/app.confi.php');

if(!empty($_GET['vista'])):
	$vista = $_GET['vista'];
else:
	$vista = VISTA_DEFECTO;
endif;

if (empty($conf[$vista])): 
$vista = 'error404';
endif;

if (empty($conf[$vista]['layout'])) {
	$conf[$vista]['layout'] = LAYOUT_DEFECTO;
}

$path_layout	= LAYOUT_PATH.'/'.$conf[$vista]['layout'];
$path_vista	= VISTA_PATH.'/'.$conf[$vista]['archivo'];

require($path_layout);
?>


Este es el archivo confi.php donde asigno las vistas que se podran cargar:
<?php
    define('VISTA_DEFECTO', 'home');
    define('LAYOUT_DEFECTO', 'layout.php');
    define('VISTA_PATH', realpath('./vista/'));
    define('LAYOUT_PATH', realpath('./layouts/'));

    $conf['home']    	=  array(
           'archivo' 	=> 'home.vw.php'
    );

    $conf['vista1'] 	= 	array(
           'archivo' 	=> 'vista1.vw.php'
    );   

    $conf['error404'] 	= 	array(
           'archivo' 	=> 'error404.vw.php' 
    );
?>


Este es el codigo donde envio cada vista esto lo coloco dentro del archivo layout.php por defecto esta condicionado para que mande un mensaje si la vista no existe:

 <?php
		 if (file_exists( $path_vista )):
		require( $path_vista );
		 else:
		 echo 
		  '<center><br><img src="web/img/construccion.png" border="0"><h1>VISTA NO DISPONIBLE></h1></center>';
		endif;
?>


Usando Ajax puedo directamente cargar desde un menu cada formulario sin tanto problema pero entonces dejo de lado el archivo app.confi.php por lo que pierde su aplicacion ahora bien normalmente puedo cargar las vista con algo tan simple como esto
<a href="./?vista=vista1">Cargar vista</a>
pero esto refresca toda la pagina.
Como podria usar ajax para hacer todo esto? es decir mandar el nombre de la vista para que este se cargue en el layout, tendria que reestructurar todo o se puede alguna otra forma?
Etiquetas: PHP Votos: 0 - Respuestas: 2 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-03-2019 04:20:19 Saludos, no sé si te haz fijado como trabaja laravel. Lo que deberías hacer es tener un archivo de rutas (a donde llegarán todas las peticiones) a su vez, instanciar el controlador que usuaras y el controlador se comunicará con el modelo (éste te deveolverá los datos que necesitas)   Votos: 0 - Link respuesta
     
  • Fecha: 18-03-2019 16:28:40 Darwin Fijate que no eh visto lo de laravel, pero al instanciar el modelo ya sería para procesar datos en este caso necesito únicamente llamar la vista es decir solamente cargar el formulario o podrías poner un ejemplo claro si no es molestia   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión