Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/05/2015, 18:17
jhonjaider1000
 
Fecha de Ingreso: abril-2015
Ubicación: Bogotá D.C - Colombia
Mensajes: 106
Antigüedad: 9 años
Puntos: 11
Respuesta: Fron Controller

Hola amigo mira lo que quieres y te dijeron es que trabajaras MVC(Modelo vista controlador), generalmente es muy usado para crear sistemas complejos y con una muy buena estructura.

y es simple supongamos que tienes un index.html

la vista se trabaja con jquery y peticiones AJAX, si no tienes muy claro el tema simplemente busca tutoriales, no te arrepentirás creeme será una gran manera de iniciar correctamente cualquier aplicación pues trabajar con MVC tiene muchas ventajas, entre estas como más importantes el "rendimiento".

Aún así te dejaré un pequeño tutorial aquí:

Inicialmente este sería el index.html

Código PHP:
<!DOCTYPE html>
<!--
To change this license headerchoose License Headers in Project Properties.
To change this template filechoose Tools Templates
and open the template in the editor.
-->
<
html>
    <
head>
        <
title>Ejemplo MVC</title>
        <
meta charset="UTF-8">
        <
meta name="viewport" content="width=device-width">
        <
script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
        <script>
            $(document).ready(function() {
                $('#decirHola').click(function() { //Se agrega un evento al botón Hola, y se realiza la petición.
                    $.ajax({
                        url: 'Controller.php',
                        type: 'POST',
                        data: 'request="decirHola"',
                        success: function(data) {
                            console.log(data); //Solo para que veas que pasa en consola ;)
                            var respuesta = JSON.parse(data);
                            console.log(respuesta); //Solo para que veas que pasa en consola ;)
                            if (respuesta.codigo == 1) {
                                $('#contenidoRespuesta').html(respuesta.datos);
                            } else {
                                alert(respuesta.mensaje);
                            }
                        }
                    });
                });


                $('#decirAdios').click(function() {
                    $.ajax({
                        url: 'Controller.php',
                        type: 'POST',
                        data: 'request="decirAdios"',
                        success: function(data) {
                            console.log(data); //Solo para que veas que pasa en consola ;)
                            var respuesta = JSON.parse(data);
                            console.log(respuesta); //Solo para que veas que pasa en consola ;)
                            if (respuesta.codigo == 1) {
                                $('#contenidoRespuesta').html(respuesta.datos);
                            } else {
                                alert(respuesta.mensaje);
                            }
                        }
                    });
                });
                
                $('#error').click(function() {
                    $.ajax({
                        url: 'Controller.php',
                        type: 'POST',
                        data: 'request="error"',
                        success: function(data) {
                            console.log(data); //Solo para que veas que pasa en consola ;)
                            var respuesta = JSON.parse(data);
                            console.log(respuesta); //Solo para que veas que pasa en consola ;)
                            if (respuesta.codigo == 1) {
                                $('#contenidoRespuesta').html(respuesta.datos);
                            } else {
                                alert(respuesta.mensaje);
                            }
                        }
                    });
                });
            });
        </script>
    </head>
    <body>
        <div id="contenidoRespuesta">
            <i>Aquí se cargará el contenido que me de el controlador(Controller.php).</i>
        </div>
        <br/>
        <button id="decirHola">Hola</button>
        <button id="decirAdios">Adiós</button>
        <button id="error">EJ: ERROR de petición</button>
        <br/>
        <hr/>
        Es posible que encuentres muchos tutoriales, y como lo dijiste algunos no se extienden a 
        crear toda la estructura como te la planteo aquí en unos ejemplos muy sencillos para que 
        puedas ver como se hace ;)
    </body>
</html> 

Por otra parte este sería el Controller.php


Código PHP:

<?php

/*
 * Generalmente se crea un controlador que recibirá las peticiones, y se encargará
 * de servirle al fromten para que reciba lo que necesita.
 */


if (!empty($_POST['request'])) {
    
$request $_POST['request'];
    
$request toString($request); //Elimino comillas de la cadena.
    
$response = array();
    switch (
$request) {
        case 
'decirHola':
            
$response['codigo'] = 1//Código de la solicitud, generalmente para validar si todo salio bien, por ejemplo si haces una consulta que retorna datos vacios pues simple retornas un codigo con 0, que representaria eso, si es un error podria ser un -1.
            
$response['mensaje'] = "Todo salio bien."//Lo que quieras, si todo salio bien, si se produjo un error, lo que sea que desees imprimir en pantalla, si no vas a usar no importa.
            
$response['datos'] = "Hola";
            echo 
json_encode($response);
            break;
        case 
'decirAdios':
            
$response['codigo'] = 1//Código de la solicitud, generalmente para validar si todo salio bien, por ejemplo si haces una consulta que retorna datos vacios pues simple retornas un codigo con 0, que representaria eso, si es un error podria ser un -1.
            
$response['mensaje'] = "Todo salio bien."//Lo que quieras, si todo salio bien, si se produjo un error, lo que sea que desees imprimir en pantalla, si no vas a usar no importa.
            
$response['datos'] = "Adios";
            echo 
json_encode($response);
            break;
        default :
            
//Como lo observas a continuación imprimiré un json con codigo -1 para saber que se produjo un error.
            
$response['codigo'] = -1//Código de la solicitud, generalmente para validar si todo salio bien, por ejemplo si haces una consulta que retorna datos vacios pues simple retornas un codigo con 0, que representaria eso, si es un error podria ser un -1.
            
$response['mensaje'] = "No existe el requisito."//Lo que quieras, si todo salio bien, si se produjo un error, lo que sea que desees imprimir en pantalla, si no vas a usar no importa.
            
$response['datos'] = null;
            echo 
json_encode($response);
            break;
    }
} else {
    
}

function 
toString($string) { //He creado esta función por que al recibir la petición, y comparar el string recibido dentro del swich haría algo como peticionHacerAlgo = "peticionHacerAlgo" que retornaria false, por tanto elimino los "" de la cadena.
    
$stringTemp $string;
    
$string "";
    for (
$i 0$i strlen($stringTemp); $i++) {
        if (
$stringTemp[$i] != '"') {
            
$string .= $stringTemp[$i];
        }
    }
    return 
$string;
}

?>


Generalmente con esto puedes ver de una manera casí completa como se hace, aquí generalmente solo tendrias que hacer que en el swich se incluyan las clases o funciones php que necesitas para cada debido caso, suponiendo que sabes como hacer las consultas y demás cosas de BD, así más o menos es que se trabaja el tema...

Éxitos!