MuniManantay

MuniManantay

Municipalidad de Manantay

JoyeriaFinne

JoyeriaFinne

Taller de joyeria

The Word of the Lord

The Word of the Lord

BroadCasts Religious

Deluxe Kool Decking

Deluxe Kool Decking

Reconstruction Decking

Ago
02

Comenzando MVC con php

Escrito por Carlos Montalvo hace 4 meses y 4 semanas, archivado en Desarrollo Web

MVC es un patrón de diseño en ingeniería de software, este mismo patrón lo vemos implementado en algunos frameworks PHP tales como.

Ejemplo de una consulta sencilla de la forma más usada.

< ?php
function get_posts()
{
  mysql_connect(...);
 $resultado = mysql_query('SELECT * FROM wp_posts ORDER BY date DESC');

  $posts = array();
  while($post = mysql_fetch_objects($resultado)) {
	$posts[] = $post;
  }
  return $posts;
}
?>

Usando el patrón de diseño MVC en este mismo ejemplo quedaría así.

Modelo ( modelo.php )

< ?php
function get_posts()
{
  mysql_connect(...);
 $resultado = mysql_query('SELECT * FROM wp_posts ORDER BY date DESC');

  $posts = array();
  while($post = mysql_fetch_objects($resultado)) {
	$posts[] = $post;
  }
  return $posts;
}
?>

Controlador ( controlador.php )

< ?php
	$posts = get_posts();
	display_template('vista.tpl');
?>

Vista ( vista.tpl )

<html>
  <body>
    <h1>Ultimas entradas</h1>
	< ?php foreach ($posts as $post) { ?>
		<h2>< ?php echo $post->title; ?></h2>
		<p>< ?php echo $post->content; ?></p>
	< ?php } ?>
  </body>
</html>

Explicación breve:
En el Modelo declaramos una función conteniendo la consulta de datos retornando el array de los datos.

En el Controlador es donde manipulamos las funciones del modelo; en cuyo caso se ejecuta la función y se le asigna a una variable y mostramos la vista.

En la Vista en donde mostramos los datos ejecutados por el controlador

Notaran que implementando el patrón de diseño MVC logramos separar el código php (funcionalidad), del html (diseño) en gran parte; esto es un gran avance enfocándonos no solo en la programación si no también al diseño.

Con una aplicación mayor tendríamos varias ventajas implementando MVC tanto reutilización de código por otro programador como para poder reducir el tiempo de modificar y añadir mejoras a la aplicación.

El MVC no solo se puede implantar en PHP, si no en cualquier lenguaje (JAVA, Ruby, Perl y Otros ).

MVC no a tenido tanto excito en php como en otros lenguajes de programación ( por el momento ), creo para mi humilde opinión por que existen diversas alternativas de FrameWork para PHP y ninguna termina de convencer pero la mas completa que he utilizado es Zend FrameWork.

Tags: , , ,

Entradas Relacionadas:

Se Referencio:

Comparte esta noticia:

7 Valiente(s) Opinaron, falta el tuyo comenta

    Por david ruiz el Ago 2, 2008 Responder este comentario
    1

    Esta muy bien tu pagina para los que estamos aprendiendo a manejar php y mysql esta chida saludos

    Con Internet Explorer Internet Explorer 6.0 y Windows Windows XP


    2

    yo programo como el culo, aunque ahora siempre intento separar el codigo del diseño jeje

    Con Mozilla Firefox Mozilla Firefox 2.0.0.16 y Mac OS Mac OS X


    3

    Eso lo reconosco Gafeman eh visto tus proyectos personales ;)

    Con Mozilla Firefox Mozilla Firefox 3.0.1 y Windows Windows XP


    4

    entonces… en Model es donde se mete las funciones, en Vista los templates y en Controller donde se ejecutan no?
    me quedan un par de dudas…
    Donde esta la función encargada de interpretar el template? en model? y que se hace en browser? actualmente muchas aplicaciones usan AJAX para funcionar y eso no se puede ejecutar totalmente en Controller, se engloba en Browser?

    Con Safari Safari 525.20.1 y Mac OS Mac OS X


    5

    @Antares: Mi ejemplo es algo basico. Lo que explico es la estructura del patron MVC en PHP.

    El interprete del template vendria ser una libreria incorporada muy aparte del patron MVC se podria usar un sistema de plantillas como smarty u otro.

    Lo del ajax tambien es un agregado que vendria a estar en la Vista por lo general.

    Pero si deseas mayor información puedes pasearte por CakePHP o Kumbia son framework en php que utilizan el patron MVC y tienen librerias de templates y ajax.

    Con Safari Safari 525.9 y Mac OS Mac OS X


    6

    hum.. realmente interesante el kumbia, no lo conocía..
    Tendré que echarle un vistazo mas intenso…..

    Con Safari Safari 525.20.1 y Mac OS Mac OS X


    Por Luis Gonzalez el Sep 22, 2008 Responder este comentario
    7

    Carlos, esta muy bueno tu ejemplo, sera que podrias poner un ejemplo de la vida real, un ABM de clientes o algo asi.

    Con Mozilla Firefox Mozilla Firefox 3.0.1 y Windows Windows XP


1 Sitio(s) que enlazan a esta noticia

  • Enlaces de la semana 3 — Viciao2k3:
    9 Agosto, 2008 a las 2:32 pm
  • Danos tu opinion sobre esta noticia.

    CalinSoft se reserva el derecho de eliminar o editar todo comentario que considere ofensivo o difamatorio. Debatir, criticar NO ES INSULTAR.