Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/03/2016, 20:08
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 9 meses
Puntos: 270
Respuesta: duda al implementar mvc en php

Cita:
Iniciado por programador_aprendiz Ver Mensaje

Tal vez algunos me diran que primero tengo que tener fuertes conocimientos en objetos para php y esas cosaspero, me gustaria ir llevando esto de la mano mientras lo aprendo y ya una vez comprendido pasarme a algun framework. ¿Podrian ayudarme?
MVC es una posible solución a una serie de problemas. Esos problemas no tienen por qué ser fácilmente entendibles por una persona que comienza a programar.Es más, es posible que si trabajaras en proyectos pequeños, quizás nunca te los plantearas.
Dices que has modificado el index.php para que incluya la cabera y el pie, ya que, total, lo vas a incluir siempre..
Eso es equivalente a decir que le vas a quitar las puertas a tu coche,porque, total, siempre que entras o sales tienes que abrirlas..
O sea, que piensas que algo es una solución, porque no entiendes el problema completo.Es posible que no necesites años y años de conocimientos en PHP para entender MVC (o cualquier otro paradigma), pero...o lo aprendes, y te preguntas por qué se hace así, o das tus "soluciones".Las dos cosas a la vez, no.

Porque, basándonos sólo en tu argumento, el que siempre vayas a incluir la cabecera y el pie, es muy muy relativo.Nunca vas a devolver, por ejemplo, un json? Y, aunque fuera asi, en la cabecera nunca vas a mostrar nada asociado, por ejemplo, al usuario actual?
Y si ambas cosas fueran asi (no envias json, no tienes usuarios), crees que haciendo una cosa tan particular para lo que necesitas *ahora* vas a entender una solución de arquitectura como MVC? Estás programando según un set de requisitos que tienes ahora mismo, no pensando en problemas genéricos.No veo cómo haciendo lo primero, consigues lo segundo.

Incluso si utilizas un framework "conocido", el hecho de usarlo no te garantiza que tu desarrollo sea MVC, o sea mejor que un desarrollo PHP de la vieja escuela.

Como ejemplo de lo que te digo, uno de los problemas más graves del código que tienes, es el uso de la conexión de la base de datos.
De tu código, se infiere que:
- Un "Platillo" posee su propia conexión a una base de datos Mysql
Si creas 3 instancias de Platillo, conectas 3 veces a la base de datos.
Un Platillo no tiene una conexión a una base de datos.Tendrá un nombre, un precio, una descripcion...Pero no una conexión a una base de datos.
(Ni deriva de nada que tenga que ver con una base de datos...error grave de muchos frameworks).
Empezando por donde estás, y, a base de código,llegar a MVC (especialmente si por el camino vas arrancando lo que crees que no sirve), te va a ser muy muy complicado.
De hecho, poner un include del header y el footer en el index, te ha llevado directamente al PHP de hace 15 años.Cuando PHP también era "novato".