Sun. Dec 8th, 2019

Host your Website

Read and learn

FatCow Web Hosting $1.00/mo* Trust your web hosting to the #1 web host provider, GoDaddy!

Ejemplo PHP + POO + MVC – Versión mejorada – Víctor Robles

1 min read



🔥Suscribete: https://youtube.com/c/VictorRoblesWEB?sub_confirmation=1
🎓Cursos online de desarrollo web: http://victorroblesweb.es/academy
📰Blog: http://victorroblesweb.es
🐦Twitter: https://twitter.com/victorobs

Voy a poner un ejemplo muy bueno de como programar realmente orientado a objetos en PHP puro con MVC. Lo que voy a mostrar hoy perfectamente podría ser la base para construirnos un pequeño framework propio, veremos incluso como hacer un controlador frontal, como crear objetos que representen entidades de la base de datos, etc, por lo tanto lo que voy a enseñar hoy es un ejemplo muy didáctico y muy completo.

Basado en un post que publiqué en 2014:

Ejemplo PHP + POO + MVC

MVC (Modelo Vista Controlador) en PHP nativo

https://www.udemy.com/u/victor-robles-2/

30 thoughts on “Ejemplo PHP + POO + MVC – Versión mejorada – Víctor Robles

  1. Alguien por favor me puede decir porque me sale este error:

    Fatal error: Uncaught ArgumentCountError: Too few arguments to function Usuario::__construct(), 0 passed in C:xampphtdocsstottecontrollerUsuarioController.php on line 9 and exactly 1 expected in C:xampphtdocsstottemodelUsuario.php:6 Stack trace: #0 C:xampphtdocsstottecontrollerUsuarioController.php(9): Usuario->__construct() #1 C:xampphtdocsstottecoreControladorFrontal.func.php(19): UsuarioController->index() #2 C:xampphtdocsstottecoreControladorFrontal.func.php(26): cargarAccion(Object(UsuarioController), 'index') #3 C:xampphtdocsstotteindex.php(14): lanzarAccion(Object(UsuarioController)) #4 {main} thrown in C:xampphtdocsstottemodelUsuario.php on line 6

  2. Qe tal Victor, a ver si pudieras aclararme una pequeña duda. ¿Por qué en la clase de la conexión, en la función para conectar evalúas en el condicional si el driver es igual a nulo (aparte dl || igual a mysql)?

  3. Muy interesante, lo intente con PDO en una tabla con dos columnas(id, descripcion) y tengo errores

    Fatal error: Uncaught ArgumentCountError: Too few arguments to function Ciudades::__construct(), 0 passed in /opt/lampp/htdocs/mvc/controller/CiudadesController.php on line 8 and exactly 1 expected in /opt/lampp/htdocs/mvc/model/Ciudades.php:5 Stack trace: #0 /opt/lampp/htdocs/mvc/controller/CiudadesController.php(8): Ciudades->__construct() #1 /opt/lampp/htdocs/mvc/core/ControladorFrontal.func.php(19): CiudadesController->index() #2 /opt/lampp/htdocs/mvc/core/ControladorFrontal.func.php(26): cargarAccion(Object(CiudadesController), 'index') #3 /opt/lampp/htdocs/mvc/index.php(14): lanzarAccion(Object(CiudadesController)) #4 {main} thrown in /opt/lampp/htdocs/mvc/model/Ciudades.php on line 5

  4. Excelente…. la pregunta es como puedo implementar Ajax? O si es posible llamar auna funcion en especifico dentro de una clase php…. gracias…. Saludos

  5. Excelente video, no sabía lo fácil de trabar con MVC y POO.

    Por otra parte como puedo implementar jQuery? por ejemplo el uso de Ajax para que no se recargue la página al momento de enviar los datos, o bien validar datos, etc.

  6. se muestran las consultas, pero falla a la hora de registrar
    *Warning: Missing argument 1 for Usuario::__construct(), called in UsuariosController.php on line 37 and defined in Usuario.php on line 9
    *Notice: Undefined variable: adapter in Usuario.php on line 11
    *Fatal error: Call to a member function query() on a non-object in Usuario.php on line 61

  7. para los que han usado este ejemplo y no les a funcionado tener en cuenta que verificar datos de conexión en la hoja de php global, si la base de datos no es la original a la del ejemplo revisar las funciones de la clase EntidadBase casi todos los errores de reproducción esta hay y lo otro que vi es si diversifican la modalidad de uso en mi caso tuve que modificar la función getById para que no me presente problemas

    public function getById($id){

    $sql = "show columns from $this->table where `Key` = 'PRI'";

    $queryCI = $this->db->query($sql);

    $fetch_object = $queryCI->fetch_object();

    // print_r($fetch_object); testeo de respuesta segun la consulta
    //
    // echo $fetch_object->Field; respuesta del PrimariKey para la tabla que consulta

    $query=$this->db->query("SELECT * FROM $this->table WHERE ". $fetch_object->Field ."=$id");

    if($row = $query->fetch_object()) {
    $resultSet=$row;
    }

    return $resultSet;
    }

  8. Una consulta con que versión de php recomiendas, php 7?, tengo ya años trabajando con solo php y poco con mvc, me pareció muy interesante tu video, algunos consejos y recomendaciones.

  9. muy bueno el tutorial, he entendido varias cosas pero tengo un problema que no quiere insertar los datos me podrías orientar en ese aspecto la bese la copie de tu pagina como lo habías dicho

  10. Buen dia tengo una duda relacionado con el tema

    como podria implementar ajax a un proyecto que ya esta hecho con modelo-vista-controlador
    por ejemplo tengo mi modelo ColoniaData donde tengo las funciones que conectan ala base de datos mysql donde guardo,edito y busco el listado de la tabla, en Colonia-view muestro la tabla de las colonias
    haciendo un llamado a la clase $colonia = ColoniaData::getAll(); despues recorro con un for para llenar mi tabla, si quiero editar datos de algun registro los envio a un editColonia-view donde busco los datos en base al id <?php $user = ColoniaData::getById($_GET["id"]);?>
    punto de partida para implementar ajax ?

  11. saludos Víctor,muy buen vídeo,déjame decirte que por un buen tiempo estuve buscando la forma de crear mi propio framework con MVC.Pero despues de ver tantos tutoriales y visitar decenas de paginas web que hablan del tema descubrí que no hay una manera exacta de crear un buen framework y que también esto implica muchos bus de seguridad si no se hace de la manera correcta,la mayoría de los que crean estos framework,lo
    hacen pensando que es la forma correcta y sin tomar en cuenta los
    fallos,así que despues de buscar y buscar decidí que lo mejor es optar
    por lo que tienen tiempo y son reconocidos como es cakephp,zend,sinfony entre
    otros que detrás de ellos hay una enorme comunidad de desarrolladores
    trabajando constantemente en mejorar el código.y por eso me desencante
    de la idea de crear un mini framework que al final quedan abandonados y no aptos para entornos de desarrollo. es mi humilde opinión

  12. gracias amigo me interesa php como lenguaje quisiera saber todo lo que este gran lenguaje web aporta…!!
    Saludos buen video y seguir subiendo videos sobre php5 .

  13. pero por casualidad no puedes hacer un curso DESDE CERO para hacer una aplicación funcional, donde se vea nuevamente todo esto, de insertar, eliminar,buscar,paginar,actualizar; pero también con diseño y no una cosa fea alli,porque muchos tutores dicen yo no soy muy bueno para el css y uno queda iniciado también,por eso te pregunto por un curso completo en todos sus sentidos.

  14. Excelente tutorial sinceramente aun no lo veo pero con toda la información que entregas en tu pagina web me queda perfectamente claro lo que estas haciendo y el porque para personas que aun no tienen noción de PHP poo.

Comments are closed.

Copyright © All rights reserved. | Newsphere by AF themes.