Saltar al contenido

Marco del tutorial PHP MVC: CodeIgniter de ejemplo

¿Qué es el framework PHP MVC?

PHP MVC es un patrón de diseño de aplicaciones que separa los datos de la aplicación y la lógica empresarial (modelo) de la presentación (vista). MVC son las siglas de Model, View & Controller.

El controlador media entre los modelos y las vistas.

Piense en el patrón de diseño de MVC como un automóvil y un conductor.

El automóvil tiene las pantallas del parabrisas (vista) que el conductor (controlador) usa para monitorear el tráfico que se aproxima y luego la velocidad o el freno (modelo) dependiendo de lo que vea adelante.

¿Por qué usar PHP MVC Framework?

  • PHP MVC Frameworks trabaja para simplificar tecnologías complejas mediante;
    • Ocultar todos los datos de implementación complejos
    • Proporcionar métodos estándar que podamos utilizar para crear nuestras aplicaciones.
    • Aumento de la productividad del desarrollador, esto sucede porque la implementación básica de actividades como conectarse a la base de datos, desinfectar la entrada del usuario, etc. ya se ha implementado parcialmente.
    • Adhiérase a los estándares de codificación profesional

En este tutorial, aprenderá:

Patrón de diseño PHP MVC

Analicemos ahora brevemente cada componente de un patrón de diseño MVC.

Miniatura – esta sección trata sobre la lógica empresarial y los detalles de la aplicación. Se puede utilizar para la validación, el procesamiento y el almacenamiento de datos. Los datos pueden venir;

Controlador – esta es la parte que maneja las solicitudes de recursos de los usuarios desde el servidor.

Por ejemplo, cuando los usuarios solicitan la URL … / Index.php? Productos = lista, el controlador cargará el modelo del producto para recuperar los datos del producto y luego generará los resultados en la vista de lista.

En resumen, el controlador vincula los modelos y las vistas en función de los recursos solicitados.

Vista – esta sección trata sobre la presentación de los datos al usuario. Suele tener el formato de una página HTML.

Tipos de framework PHP MVC

Elegir el mejor framework PHP es un desafío.

No es necesario que escriba su propio marco para aprovechar los beneficios de MVC.

Solo debe intentar crear su propio diseño de aplicación relacionado con MVC para comprender cómo funcionan los marcos MVC.

Una vez que se sienta cómodo con el funcionamiento de los marcos MVC, debe pasar a los marcos maduros que ya se han probado.

La siguiente tabla describe brevemente algunos de los frameworks php populares y las características que ofrece cada framework.

Creat Suelte

CodeIgniter
https://codeigniter.com/
Es uno de los frameworks PHV MVC más populares. Es liviano y tiene una curva de aprendizaje corta. Tiene un amplio conjunto de bibliotecas que ayudan a crear sitios web y aplicaciones rápidamente. También puede ser utilizado por usuarios con conocimientos limitados de programación OPW. Las aplicaciones impulsadas por CodeIgniter incluyen;

Kohana
http://kohanaframework.org
HMVC Hierarchical Model View Controller es un marco seguro y ligero. Tiene un rico conjunto de componentes para desarrollar aplicaciones rápidamente. Las empresas que utilizan Kohana incluyen;

CakePHP
www.cakephp.org
Está moldeado según Ruby sobre rieles. Es conocido por conceptos tales como patrones de diseño de software, convenciones de configuración, ActiveRecord, etc. Las aplicaciones impulsadas por CakePHP incluyen;

www.framework.zend.com
Zend
Ese es un marco poderoso;

  • Seguro, confiable, rápido y escalable
  • Soporta Web 2.0 y creación de servicios web.

Hay API de proveedores como Amazon, Google, Flickr, Yahoo, etc. Es muy adecuado para desarrollar aplicaciones comerciales. Las aplicaciones impulsadas por Zend incluyen; Las empresas que utilizan el marco Zend incluyen;

  • BBC
  • Cisco
  • Webex
  • Ofertas.com

Solicitar comentarios de la encuesta a CodeIgniter

A este respecto tutorial, creamos una aplicación de sondeo PHP. Aquí, transportaremos ese código a CodeIgniter

  • Descargar la última versión de CodeIgniter de sitio web.
  • Extraiga el contenido del archivo comprimido en su directorio de desarrollo en el directorio de su servidor web. Usaremos ciopinionpoll como nombre de carpeta en esta lección.
  • Busque la URL http: // localhost / ciopinionpoll /

Ahora vamos a enviar nuestra solicitud de encuesta de comentarios a CodeIgniter. Recuerde que nuestra aplicación se divide en tres partes principales, a saber;

  • Controlador frontal: esta es la parte que responde a las solicitudes de URL y devuelve la página solicitada. Este código irá al controlador
  • Modelo: este es el código que corresponde a los datos solicitados y devuelve los datos solicitados. Este código entrará en el modelo.
  • Vistas: este es el código responsable de formatear y mostrar los datos. Este código aparecerá a la vista
    • Vaya a la carpeta ciopinionpoll
    • Abre el database.php archivo ubicado en el directorio de aplicación / configuración.
    • Encuentra las siguientes líneas de código

Opciones de configuración de la base de datos

Creando Nuestro Modelo

A continuación, crearemos nuestro modelo que expandirá CI_Model. CI_Model es parte de las bibliotecas CodeIgniter. El modelo se ubicará en la aplicación / modelos opinion_poll_model.php

<?php 
class Opinion_poll_model extends CI_Model 
{ 
    public function __construct() 
    { 
    	$this->load->database(); 
    } 

    public function total_votes() 
    { 
    	$query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');
        return $query->row()->choices_count; 
    } 

    public function get_results() 
    { 
    	$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow"); 
        $table_rows=""; 

        for ($i = 1; $i < 5; $i++) 
        {
             $sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;"; 
             $result = $model->

             select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>"; 
        } 
        public function add_vote($choice) 
        { 
        	$ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data); 
        } 
   } 
?>

AQUÍ,

Creando nuestro controlador Vamos a crear el controlador ahora. Usaremos el controlador CodeIgniter predeterminado ubicado en la aplicación / controllers / welcome.php. Reemplace su código fuente con el siguiente código.

<?php

if (!defined('BASEPATH'))  exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function __construct() {

        parent::__construct();

        $this->load->model('opinion_poll_model');

    }

    public function index() {

        if ($this->input->post('submitbutton') && !$this->input->post('vote')) {

            echo "<script>alert('You did not vote!');</script>";

        }

        if ($this->input->post('vote')) {

            $this->opinion_poll_model->add_vote($this->input->post('vote'));

            $data['total_votes'] = $this->opinion_poll_model->total_votes();

            $data['rows'] = $this->opinion_poll_model->get_results();

            $this->load->view('results', $data);

        } else {

            $this->load->view('opinion_poll_form');

        }

    }

}

/* End of file welcome.php */

/* Location: ./application/controllers/welcome.php */
?>

AQUÍ,

  • «If (! Definitions (‘BASEPATH’)) sale (‘No se permite el acceso directo al script’);» asegura que los usuarios no tengan acceso directo a la clase de controlador
  • «Bienvenido extiende la clase CI_Controller …» nuestro controlador extiende la clase CI_Controller
  • El método del constructor de la clase CI_Controller llama a la «función pública __construct ()» y carga nuestro modelo Opinion_poll_model
  • La función que se asigna a index.php es «función pública index ()…». utiliza la clase de entrada CodeIgniter para verificar si se ha emitido un voto, agregarlo a la base de datos y luego mostrar los resultados. Si la matriz de trabajos de la clase de entrada está vacía, carga la página de votación.
  • La clase de entrada CodeIgniter para el contenido de la variable global $ _POST es «$ this-> input-> post (‘…’)».
  • El método add_vote para agregar el voto a la base de datos se llama «$ this-> opinion_poll_model-> add_vote ($ this-> input-> post (‘vote’))».

Creando Nuestras Escenas

Recuerde del ejemplo anterior que teníamos dos páginas HTML, una para votar y otra para resultados. Usaremos el mismo código HTML sin muchas modificaciones para crear nuestras vistas. Cree los siguientes archivos en el directorio de aplicaciones / comentarios

opinion_poll_form.php 
<html>
<head>
    <title>
        JavaScript Libraries - Opinion Poll
    </title>
</head>

<body>
    <h2>JavaScript Libraries - Opinion Poll</h2>
    <p><b>What is your favorite JavaScript Library?</b></p>
    <form method="POST" action="index.php">
        <p>
            <input type="radio" name="vote" value="1" /> JQuery
            <br />
            <input type="radio" name="vote" value="2" /> MooTools
            <br />
            <input type="radio" name="vote" value="3" /> YUI Library
            <br />
            <input type="radio" name="vote" value="4" /> Glow </p>
        <p>
            <input type="submit" name="submitbutton" value="OK" />
        </p>
    </form>
</body>
</html>

Ahora creemos la página de resultados results.php

<html>
    <head>
        <title>JavaScript Libraries - Opinion Poll Results</title>
    </head>
    <body>

        <h2>JavaScript Libraries - Opinion Poll Results</h2>

        <p><b>What is your favorite JavaScript Library?</b></p>

        <p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p>

        <p><table><tr><td>

            <?php print($rows); ?>

        </tr></td></table></p>

        <p><a href="">Return to voting page</a></p>
</body>
</html>

Probando nuestra aplicación

Si se supone que ciopinion es el directorio raíz de su aplicación, busque http: // localhost / ciopionpoll /

Haga clic en el botón Aceptar, verá el siguiente mensaje de alerta

Vote por su candidato favorito y luego haga clic en Aceptar Verá la siguiente página de resultados

Conclusión

CodeIgniter es un marco PHP MVC fácil de aprender y usar que puede reducir en gran medida el tiempo dedicado al desarrollo de aplicaciones.

Resumen

  • Un marco consta de un conjunto de bibliotecas que proporcionan una implementación parcial de tareas comunes.
  • PHP tiene varios marcos MVC de código abierto maduros y probados.
  • Un enfoque bien desarrollado separa los datos de la presentación y fomenta el uso de un único punto de entrada en una aplicación.
  • Las aplicaciones PHP tradicionales que siguen buenas prácticas de diseño de aplicaciones se pueden migrar a marcos MVC sin mucha modificación.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *