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

Nuevo en POO

Estas en el tema de Nuevo en POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. En mi página hasta ahora todo lo he hecho con un enfoque procedimental, es decir, tengo 6 o 7 archivos en una carpeta a los ...
  #1 (permalink)  
Antiguo 03/07/2011, 06:15
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Nuevo en POO

En mi página hasta ahora todo lo he hecho con un enfoque procedimental, es decir, tengo 6 o 7 archivos en una carpeta a los que llamo mediante include(), cada uno de esos archivos tienen un código específico (que en la mayoría de los casos reutilizo en otras páginas).

Mis objetivos son ahorrar código, lograr una mayor encapsulación y separar más todavía PHP de HTML mejorando la legibilidad. He acabado el capítulo de mi libro sobre POO en PHP, pero todavía no se me ocurre como aplicar la teoría xD

¿Me podéis dar algún ejemplo de como crear plantillas o algún tutorial que de ejemplos para separar código PHP de HTML?
  #2 (permalink)  
Antiguo 03/07/2011, 06:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Nuevo en POO

Te recomiendo una lectura sobre MVC http://librosweb.es/symfony/capitulo...atron_mvc.html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 03/07/2011, 07:13
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por abimaelrc Ver Mensaje
Te recomiendo una lectura sobre MVC http://librosweb.es/symfony/capitulo...atron_mvc.html
Bueno, en realidad de eso se trata...

Ok, ya me lo recomendaste antes y es el momento de leerlo.
  #4 (permalink)  
Antiguo 03/07/2011, 08:36
Avatar de Sanchy_com  
Fecha de Ingreso: marzo-2011
Ubicación: Uruguay
Mensajes: 35
Antigüedad: 13 años, 1 mes
Puntos: 5
Respuesta: Nuevo en POO

Yo te recomiendo que consigas el libro: Pro PHP and jQuery, esta muy bien explicada la POO en PHP con ejemplos. Y además te enseña a generar una aplicación dinámica mediante Ajax
  #5 (permalink)  
Antiguo 03/07/2011, 10:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Nuevo en POO

www.phpya.com.ar/poo

Demasiado claro!
__________________
Salu2!
  #6 (permalink)  
Antiguo 03/07/2011, 12:29
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Nuevo en POO

Yo te recomiendo que leas sobre Java, veas ejemplos sobre Java, si realmente lo que quieres es aprender lo que es la POO. Java es totalmente POO.

Un saludo!
  #7 (permalink)  
Antiguo 03/07/2011, 12:37
Avatar de Sanchy_com  
Fecha de Ingreso: marzo-2011
Ubicación: Uruguay
Mensajes: 35
Antigüedad: 13 años, 1 mes
Puntos: 5
Respuesta: Nuevo en POO

Cita:
Iniciado por miktrv Ver Mensaje
Yo te recomiendo que leas sobre Java, veas ejemplos sobre Java, si realmente lo que quieres es aprender lo que es la POO. Java es totalmente POO.

Un saludo!
Oh yeah baby ;) Java is all about OOP
  #8 (permalink)  
Antiguo 03/07/2011, 13:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Nuevo en POO

No se porque dicen que Java es "totalmente POO" ......Java tiene tipos de datos primitivos no-objetos (!)

Lenguajes 100% orientados a objetos si hay: SmallTalk y Ruby son ejemplos
__________________
Salu2!
  #9 (permalink)  
Antiguo 03/07/2011, 20:07
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por Italico76 Ver Mensaje
No se porque dicen que Java es "totalmente POO" ......Java tiene tipos de datos primitivos no-objetos (!)

Lenguajes 100% orientados a objetos si hay: SmallTalk y Ruby son ejemplos
Sí, eso dice el libro que estoy leyendo, y que Java y C++ son considerados como pseudo lenguajes orientados a objetos.

abimaelrc, ya lo he leído entero, aunque me surgen algunas dudas...

Cuando hablamos de patrón MVC clásico, nos referimos a 3 capas (modelo, vista y controlador), pero en el tutorial se habla de añadir más capas (sub-capas). Me parece relativamente sencillo crear 3 archivos por página, siguiendo el modelo clásico, incluso añadir una capa extra para el controlador frontal (que debería de ser "obligado"). Tampoco es el fin del mundo, puedo hacer la separación con el código actual y después optimizarlo a POO.

Lo que me parece inviable es manualmente separar en: controlador frontal, layout, acciones, plantillas, vistas, acceso a los datos y abstracción de la base de datos. Eso si lo hago no me queda otra que usar un framework como Symfony.

De todas formas ¿os parece una pérdida de tiempo hacer yo mismo la separación en 3 capas + 1 para el controlador frontal? Se que eso puedo hacerlo y podría ser un paso intermedio para acabar usando Symfony. También puede servirme para practicar con POO.
  #10 (permalink)  
Antiguo 03/07/2011, 21:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Nuevo en POO

Podrías hacerlo por tu cuenta y tardarte un buen rato en hacerlo. O podrías usar un framewor, y aprender la forma de hacerlo con ese framework.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 03/07/2011, 22:19
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por abimaelrc Ver Mensaje
Podrías hacerlo por tu cuenta y tardarte un buen rato en hacerlo. O podrías usar un framewor, y aprender la forma de hacerlo con ese framework.
¿De que forma aprendería/practicaría más? Lo que no quiero es que al usar un framework pierda la oportunidad de poner en práctica de forma plena la teoría de POO que estoy aprendiendo.
  #12 (permalink)  
Antiguo 04/07/2011, 04:51
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Nuevo en POO

No te preocupes que si vas a usar Symfony vas a aprender --- aunque no quieras ---
Y para eso esta el codigo fuente no, vas viendo como funcionan las cosas.

Saludos.
__________________
Drupal Argentina
  #13 (permalink)  
Antiguo 04/07/2011, 05:28
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por NUCKLEAR Ver Mensaje
No te preocupes que si vas a usar Symfony vas a aprender --- aunque no quieras ---
Y para eso esta el codigo fuente no, vas viendo como funcionan las cosas.

Saludos.
Entiendo que necesito implementar la abstracción por capas "MVC" mediante un framework, pero existen varios. abimaelrc citaba un tutorial sobre Symfony, sin embargo en el libro que estoy leyendo dedican el último capítulo (nada extenso) para hablar de otro framework llamado CakePHP, también se que existen Zend y CodeIgniter.

¿Por cuál os decantaríais vosotros? me imagino que hay varios factores que importan: que sea open source, que tenga una comunidad amplia, eficiencia...

[Edito]

Tras leer las entradas de la Wikipedia correspondientes a Zend, CodeIgniter y Symfony, llego a la conclusión de que el mejor equilibrio entre comunidad/licencia/eficiencia lo tiene Zend. De todas formas me preocupa que la curva de aprendizaje pueda ser más alta que con CodeIgniter...

Última edición por Gambinoh; 04/07/2011 a las 05:52
  #14 (permalink)  
Antiguo 04/07/2011, 06:02
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Nuevo en POO

Indudablemente para empezar usaría CodeIgniter.. es muy fácil, y rápido. Aunque se habla de que no implementa al 100 % MVC, pero eso lo puedes hacer tu.

Un saludo!
  #15 (permalink)  
Antiguo 04/07/2011, 07:27
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Nuevo en POO

Cita:
Iniciado por miktrv Ver Mensaje
Indudablemente para empezar usaría CodeIgniter.. es muy fácil, y rápido. Aunque se habla de que no implementa al 100 % MVC, pero eso lo puedes hacer tu.

Un saludo!
+1 Codeigniter para empezar, si te gusta te quedas, y si no, podés ir por mas...

Saludos
__________________
Drupal Argentina
  #16 (permalink)  
Antiguo 04/07/2011, 07:59
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por NUCKLEAR Ver Mensaje
+1 Codeigniter para empezar, si te gusta te quedas, y si no, podés ir por mas...

Saludos
Ok, me habéis convencido...

Cuando acabe este libro pregunto por algún tuto en castellano de CodeIgniter :P
  #17 (permalink)  
Antiguo 04/07/2011, 08:14
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Nuevo en POO

Ya verás que con la documentación en inglés de coideigniter te es más que suficiente, ( yo se poco inglés ), ya que esta todo documentado.

De todas formas si tienes dudas ya sabes donde postearlas, jeje

Un saludo!
  #18 (permalink)  
Antiguo 09/07/2011, 05:44
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Vale, ya he acabado el libro =D

El penúltimo capítulo trata sobre Smarty, y el último sobre el Framework CakePHP. El caso es que, asumiendo que CakePHP no es muy diferente en su funcionamiento de otros Framework's populares, realmente me disgusta un poco ver que utiliza objetos y funciones propias...

Reconozco que el capítulo sobre CakePHP era introductorio y tampoco puedo decir con certeza que sea tan complejo como parece, pero a primera vista parece mucho más rápido de implementar el modelo de Smarty que CakePHP.

¿Qué os parece usar Smarty en lugar de un Framework como CakePHP, acaso no se logra la misma separación entre HTML y PHP en ambos casos? En caso de recomendarme Framework en lugar de plantillas, ¿cuál es el aspecto más positivo que ves en los Framework's?

PD: Y sí, he leído http://librosweb.es/symfony/capitulo...atron_mvc.html también.
  #19 (permalink)  
Antiguo 09/07/2011, 08:20
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Nuevo en POO

Bueno... Gambinoh ,,, separacion entre PHP y HTML la podes lograr con sistemas de plantillas pero eso......es ser muy poco exigente.

Con un framework......podes organizar mucho mejor tu proyecto, tenes muchas cosas ya hechas y podes hacer un proyecto de calidad en lugar de un spaguetti.

Incluso........ usando un framework... muchas veces no justica un sistema de plantillas o podes usar las funciones de plantillas que vienen en muchos fw.

Yo empezaria con CodeIgniter.....
__________________
Salu2!
  #20 (permalink)  
Antiguo 09/07/2011, 08:21
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por miktrv Ver Mensaje
Ya verás que con la documentación en inglés de coideigniter te es más que suficiente, ( yo se poco inglés ), ya que esta todo documentado.

De todas formas si tienes dudas ya sabes donde postearlas, jeje

Un saludo!
Por cierto: manual de CodeIgniter en castellano
  #21 (permalink)  
Antiguo 09/07/2011, 08:27
Avatar de Gambinoh  
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Nuevo en POO

Cita:
Iniciado por Italico76 Ver Mensaje
Bueno... Gambinoh ,,, separacion entre PHP y HTML la podes lograr con sistemas de plantillas pero eso......es ser muy poco exigente.

Con un framework......podes organizar mucho mejor tu proyecto, tenes muchas cosas ya hechas y podes hacer un proyecto de calidad en lugar de un spaguetti.

Incluso........ usando un framework... muchas veces no justica un sistema de plantillas o podes usar las funciones de plantillas que vienen en muchos fw.

Yo empezaria con CodeIgniter.....
Ok, voy a intentar lanzarme a la piscina con CodeIgniter, cruzo los dedos.

PD: ¿Y de Yii nadie habla?

Etiquetas: poo
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 03:09.