Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Un tutorial de MCV bastante bueno (para PHP5)

Estas en el tema de Un tutorial de MCV bastante bueno (para PHP5) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola qué tal? Encontré este tutorial que me pareció interesante y se los dejo para que lo vean. Tiene algunos conceptos interesantes... espero les sirva ...
  #1 (permalink)  
Antiguo 03/01/2008, 07:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
De acuerdo Un tutorial de MCV bastante bueno (para PHP5)

Hola qué tal?

Encontré este tutorial que me pareció interesante y se los dejo para que lo vean. Tiene algunos conceptos interesantes... espero les sirva de ayuda a ustedes tambien!

un saludote

edu


http://www.phpit.net/article/simple-mvc-php5/1/
  #2 (permalink)  
Antiguo 04/01/2008, 06:14
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Si alguno conoce otras guias y las puede pasar sería muy bueno para poder estudiar como aplican los conceptos los demás!

Un saludo grande.

edu
  #3 (permalink)  
Antiguo 04/01/2008, 11:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Un tutorial de MCV bastante bueno (para PHP5)

Me parece interesante tu tutorial, aunque no se me hace que aplican los conceptos correctamente, no es 100% OOP, pero es una buena guia para que cada quien desarrolle su sistema MVC.

Te invito a que leas mi blog, tengo un tutorial sobre MVC.

Saludos.
  #4 (permalink)  
Antiguo 04/01/2008, 12:13
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Allí voy, gracias!

un saludo.
  #5 (permalink)  
Antiguo 04/01/2008, 15:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Hola que tal !

Acabo de leer tu guia, está muy buena. Lo que no entiendo es por qué no crees que el tutorial que puse no explica como realizarlo totalmente orientado a objetos.

¿Es por el uso del archivo startup? ¿Es por que no explica tal vez la parte del modelo?

Pregunto por que no se, no por que crea lo contrario eh.

Tenes muy buena info en tu blog. Me voy a hacer socio ;)

un saludo y gracias! :)

edu
  #6 (permalink)  
Antiguo 04/01/2008, 19:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Un tutorial de MCV bastante bueno (para PHP5)

El archivo de startup que comentan en tu tutorial que compartiste, hace la misma tarea del FrontController, solo que yo lo que hago es centralizar todo en una clase estatica.

Tambien no me agrada que el tutorial utiliza defines y algunas variables que rompen con lo que es OOP. A mi parecer un sistema en PHP5 debe de ser 100% OOP.

Saludos.
  #7 (permalink)  
Antiguo 05/01/2008, 03:54
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Si coincido en eso, a mi se me ocurrio en un principio que poner en el router temas de configuración como DB ó setear el path base del sistema no era buena idea, pero si vos lo hiciste debe ser por que está bien... me sumo a esa forma :P

Otro tema, ¿vos usas algo parecido al $registry que usan en el tutorial que yo pase? ¿como haces para mover los datos entre las "capas"?


Acá encontre otro BUENISIMO.

Es en realidad una guia de diseños n-layers para C# de Microsoft pero creo que toda la teoría es perfectamente aplicable.

http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=416

Un saludo!

Última edición por Computer XTress; 05/01/2008 a las 04:19
  #8 (permalink)  
Antiguo 05/01/2008, 13:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Un tutorial de MCV bastante bueno (para PHP5)

Si uso un registry, pero eso es aparte del patron MVC, es por eso que el tutorial lo unico que hace es dar una guia, no es para que digas me tomo este codigo y lo uso, si no para que lo veas, lo aprendas, analices y lo uses.

Saludos.
  #9 (permalink)  
Antiguo 05/01/2008, 14:18
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Si eso se entiende. Yo lo estoy usando nomás para ir probando cosas por el momento y combinarlo con otras cosas que encontré.

¿Cuando sale la próxima parte de tu guia? Tengo dudas con respecto al MODEL :D

Un saludo Gator y gracias!

ed
  #10 (permalink)  
Antiguo 05/01/2008, 14:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Un tutorial de MCV bastante bueno (para PHP5)

El modelo esta explicado mas abajo, lo mas conveniente es usar el patron ActiveRecord y ActiveTable.

Saludos.
  #11 (permalink)  
Antiguo 14/01/2008, 11:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

GATOR sos un genio!!

Acabo de aplicar ActiveTable y ActiveRecord... esta genial ! Te agradezco por publicarlo, creo que nunca me hubiese enterado... y es mucho más práctica esta solución que la que yo estaba por implementar !


¿Te puedo preguntar algo al respecto?

Estoy "practicando" con un sistema de noticias que quiero manejar con estos dos patrones. Naturalmente voy a presentar un listado de las últimas noticias hasta la fecha, ordenadas por fecha y con un limite para poder paginar.

Mi clase "noticias" que extiende a "AtiveTable" va a tener que darme un array de objetos tipo "noticia" (active record) ¿verdad?

El tema es... necesito un metodo para pedir las noticias con este criterio. En principio supongo que tendria que evaluar la posibilidad de hacerlo con un metodo muy genérico, que lo pueda poner directamente en la clase ActiveTable. En ultima instancia crear un metodo que sea específico de la clase "Noticia".

Cree este metodo para ActiveTable:

Código PHP:
    public function findRangedSpecial($field$value$compare '='$from=0$to=0) {

        
// Armo el query suponiendo que no hay limites
        
$sql "SELECT * FROM `%s` WHERE `%s` %s '%s'";
        
$sql sprintf($sql$this->table$field$compare$value);


        
// Si supongo un limite, expando el query
        
if ($to != 0) {
            
$sql .= " LIMIT %s, %s";
            
$sql sprintf($sql$from$to);
        }

        
// Preparamos y ejecutamos la query
        
$query $this->_db->prepare();
        
$query->execute($sql);

        
$result = array();
        
$obj $this->resultObject;

        
// Creamos un array de objetos para entregar
        
while ($data $query->fetch()) {
            
$result[] = new $obj($data$this);
        }

        return 
$result;
    } 
Esto a mi me funciona, pero quise preguntar ya que tal vez hay alguna forma más común para esto, teniendo en cuenta que los sistemas de noticias son lo más comun que podemos encontrar!

Te dejo un saludo, y nuevamente, gracias por ese tutorial, es un golazoo !

edu
  #12 (permalink)  
Antiguo 14/01/2008, 11:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Un tutorial de MCV bastante bueno (para PHP5)

Aunque esta bien, la idea del ActiveTable es que todas esas funciones "extras" que no pertenecen al "core" del patrón sean implementadas independientemente en cada clase que extienda, como por ejemplo: getCarsByColor, etc.

Saludos.
  #13 (permalink)  
Antiguo 14/01/2008, 14:41
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Un tutorial de MCV bastante bueno (para PHP5)

Entiendo...

Bueno lo iré adaptando en base a como vaya desarrollando mi framework entonces !

Gracias de nuevo Gator!

Un saludo grande.

Edu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.