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 )
<h1>Ultimas entradas</h1>
< ?php foreach ($posts as $post) { ?>
<h2>< ?php echo $post->title; ?></h2>
<p>< ?php echo $post->content; ?></p>
< ?php } ?>
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.

david ruiz
August 2nd, 2008 hace 2 años y 1 mes
Esta muy bien tu pagina para los que estamos aprendiendo a manejar php y mysql esta chida saludos