PDA

Ver la Versión Completa : Frameworks para PHP


Ñuño Martínez
16-01-2008, 11:31:27
Hola gente.

En el trabajo me han encargado buscar un entorno de desarrollo PHP (también conocidos como freimguorcs) para hacer un proyecto a un cliente y, si la cosa funciona, implantarlo como norma en todos nuestros trabajos futuros.

Mirando aquí y allá estoy echando un vistazo a Kumbia (http://www.kumbia.org/) y acabo de encontrar CodeIgniter (http://codeigniter.com/) y CakePHP (http://www.cakephp.org/). Por ahora es Kumbia las que tiene las de ganar, aunque sólo sea porque todo está escrito en español y que, aunque lo entienda, siempre me ha costado leer sajón.

En fin, si alguien conoce de primera mano estos u otros entornos similares agradeceré que me los recomiende o critique.

dec
16-01-2008, 11:43:45
Hola,


En fin, si alguien conoce de primera mano estos u otros entornos similares agradeceré que me los recomiende o critique.


Yo también expreso mi agradecimiento de antemano a alguien con experiencia en el uso de este tipo de software. Gracias. ;) :D

AzidRain
16-01-2008, 16:49:17
Pues sin tener experiencia en PHP o sus diversos frameworks si puedo comentarles mis experiencias en la elección ya que desde hace meses ando buscando algo que me permita desarrollar más o menos a gusto en este lenguaje.

Ya probé: Cake-PHP, Zoop (ya no existe), Seagull, Code-Igniter,Kumbia y Prado.

Todos tienen sus asegunes y en todos tienes que ceder tu lógica personal en favor de la lógica de quien hizo el framework así que para programadores inquietos resulta un poco como camisa de fuerza. Sin embargo para desarrollar rápidamente son geniales una vez que se comprende toda la teoría del framework.

El que hasta ahora me ha acomodado un poco más es Prado (http://www.pradosoft.com/demos/). Esto debido a que se basa en una paradigma de clases, objetos y componentes (como TListBox, TEdit,etc..) lo cual como ya se habrán dado cuenta para quienes usamos Delphi se nos hace mucho más sencillo de entender. Los demos vienen bastante buenos además de que el tutorial está muy entendible.

Definitivamente para quienes apenas empezamos me parece mejor elección ir por un framework que te acomode a ponerte a programar desde cero. A mi ya me pasó, y aunque al final no es difícil, si es muy laborioso y en mi caso lo que me falta es tiempo.

Programar en PHP puro, sin fmw me parece como programar en mi viejo Clipper (que tiempos aquellos) en el que me tuve que hacer mis propias bibliotecas de funciones y componentes para casi todo. Claro que pare eso le invertí casi un año desarrollándolas.

lucasarts_18
16-01-2008, 20:12:55
En fin, si alguien conoce de primera mano estos u otros entornos similares agradeceré que me los recomiende o critique.

Hola, puedes visitar este enlace (http://www.librosweb.es/), hay un libro completo en español sobre el framework symphony, uno de los más populares que hay, por otro lado hace un tiempo estuve viendo algo de Zend Framework, y por muchos comentarios que leí por ahí, es mejor utilizar este ya que está respaldado por la misma empresa comercial que está detrás de php.


Por otro lado (ya me estoy yendo por las ramas....jeje :p) estoy implementando un maestro detalle en php, parecido a una factura y su respectivo detalle y es bastante lioso el asunto, no sé compara en este sentido a las aplicaciones de escritorio y no creo que un framework solucione este tipo de cosas, por lo menos hasta ahora no lo he visto.

Hasta Luego .-

AzidRain
16-01-2008, 20:43:13
Me faltaron Symphony y Zend pero ambos adolecen de la misma cosa: te piden que trabajes tal y como te lo mandan ellos, incluyendo las tablas y bases de datos.

Como dice el buen lucas_arts no siempre puedes pasar algo que en escritorio lo haces en un 2x3 con la misma velocidad a PHP. Para mí es la única cosa que no me gusta de PHP.

Emilio
16-01-2008, 21:01:06
...estoy implementando un maestro detalle en php, parecido a una factura y su respectivo detalle y es bastante lioso el asunto, no sé compara en este sentido a las aplicaciones de escritorio y no creo que un framework solucione este tipo de cosas, por lo menos hasta ahora no lo he visto.

Estoy totalmente de acuerdo contigo, hace ya tiempo que no pruebo productos milagrosos que te simplifiquen el trabajo, por decir que ni le he visto todavía la cara a Delphi4Php, pero todo lo que probé en su día no servía, al final si quieres afinar una aplicación decente tienes que picar código a punta pala y muy especialmente en la parte del cliente que únicamente disponemos del limitado Javascript.

Si aparece ese framework maravilloso avisarme que no me lo quiero perder.

lucasarts_18
16-01-2008, 21:23:09
Me faltaron Symphony y Zend pero ambos adolecen de la misma cosa: te piden que trabajes tal y como te lo mandan ellos, incluyendo las tablas y bases de datos.


¿A que te refieres? si te refieres al uso del patrón ActiveRecord o ActiveTable yo lo considero una ventaja, recuerdo que un día probé el tal Kumbia y me obligaba a poner los nombres de tabla a su pinta, fue ahí cuando no seguí estudiandolo.

Con todo esto que he dicho en este mensaje y los anteriores, no quiero decir que PHP no me guste, sino todo lo contrario, me gusta bastante a casi a la par con delphi. Pero a PHP le falta algo por el lado del cliente (un buen compañero que desplace radicalmente al html) y es que ajax no me convence.....lo único que quiero es emitir a las pantalla clipper o delphi y es que quiero abrir ventanitas en el mismo sitio y no tener que saltar de una página a otra como lo hago con php, este es tedioso para el usuario y para nosotros los programadores, tenemos que andar guardando variables en distintas paginas a través de sessiones, cookies y no sé que cosa mas extraña por ahí.

Digo todo esto porque actualmente me pagaron para migrar un sistema clipper a ambiente web y unos de los requisitos es que trate de mantener toda la funcionalidad del sistema clipper, es aquí que todos los días prendo velitas al santo html para que hago milagros......:)

quizás todo esto se pueda hacer y yo no me he enterado...jeje :eek:

Hasta Luego .-

Ñuño Martínez
17-01-2008, 11:05:00
Gracias por las respuestas.

Así, a bote pronto, me quedaría con Prado (aunque tengo que mirarlo más), pero parece que al jefe le ha gustado más CodeIgniter (http://codeigniter.com/), por eso del Active Record y tal. A ver si le convenzo.

Gracias a todos. Sabía que podía contar con ustedes. ;)

lucasarts_18
17-01-2008, 14:23:26
Gracias por las respuestas.

Así, a bote pronto, me quedaría con Prado (aunque tengo que mirarlo más), pero parece que al jefe le ha gustado más CodeIgniter (http://codeigniter.com/), por eso del Active Record y tal. A ver si le convenzo.


Estimado compañero, no olvide luego de contarno su experiencia con el framework que eligas, tal ves nos convenzas de una vez por todas decantarnos por alguna herramienta.

Hasta Luego .-

AzidRain
17-01-2008, 16:38:57
Gracias por las respuestas.

Así, a bote pronto, me quedaría con Prado (aunque tengo que mirarlo más), pero parece que al jefe le ha gustado más CodeIgniter (http://codeigniter.com/), por eso del Active Record y tal. A ver si le convenzo.

Gracias a todos. Sabía que podía contar con ustedes. ;)

Prado tambien usa Active Record en su última versión. De hecho maneja todas las conexiones a la BD usando DAO.

keyboy
17-01-2008, 16:48:02
Pero a PHP le falta algo por el lado del cliente (un buen compañero que desplace radicalmente al html) y es que ajax no me convence.....lo único que quiero es emitir a las pantalla clipper o delphi y es que quiero abrir ventanitas en el mismo sitio y no tener que saltar de una página a otra como lo hago con php, este es tedioso para el usuario y para nosotros los programadores, tenemos que andar guardando variables en distintas paginas a través de sessiones, cookies y no sé que cosa mas extraña por ahí.

Bienvenido al mundo de la programación web :) Esto que mencionas no es una carencia de PHP sino parte inherente del desarrollo web. Por el momento es lo que hay, una parte servidor que no tiene memoria entre distintas peticiones, de manera que hay que ayudarle con cookies o sesiones, y una parte cliente que se llama HTML y no puede ser desplazada, aunque sí endulzada por javascript y ajax.

Yo soy un poco de la opinión de Emilio, y, aunque no es exactamente la posición de AzidRain, su frase


en todos tienes que ceder tu lógica personal en favor de la lógica de quien hizo el framework así que para programadores inquietos resulta un poco como camisa de fuerza

expresa nítidamente mi parecer.

Bye

Emilio
17-01-2008, 22:00:05
Estimado compañero, no olvide luego de contarno su experiencia con el framework que eligas, tal ves nos convenzas de una vez por todas decantarnos por alguna herramienta.

Me sumo a la petición de que nos cuentes tu experiencia, seguro que nos servirá a todos de mucho, lamentablemente casi todos disponemos de poco tiempo para andar evaluando a fondo la gran cantidad de herramientas que aparecen, evaluar en condiciones una herramienta de estas características lleva muchísimo tiempo para después desecharla por el motivo X, así pues creo que la exposición de experiencias en primera persona sobre esto sería algo buenísimo para todos.

JXJ
19-01-2008, 23:19:42
tambien esta la vclw
o la que usa delphi4php.

¿esos son frameworks?

AzidRain
26-01-2008, 22:36:17
Después de leer este hilo me volví a meter a buscar algún framework para un pequeño desarrollo alternativo que tenía por ahí pendiente. Confiezo que como muchos no tengo mucho tiempo para ponerme a leer o estudiar algo nuevo de momento, así que muchos frameworks simplemente no los probé por la cantidad de texto que hay que leer antes de siquiera intentar escribir algo.

Retomé Code Igniter (http://codeigniter.com), el cual ya había medio visto pero como que se me hizo muy chafa. Tenía un poco de tiempo y me puse a leer la guía del usuario. Bastaron 15 minutos para darme cuenta que era lo que buscaba.

Mis puntos más destacables son:

E
s muy sencillo de entender
No asume que ya sabe uno algo
No asume o pide que tenga uno configuradas las bases de datos o tablas de una u otra forma
No pide codificar en formas extrañas
No necesita un motor de plantillas ni cosas raras en el HTML
No hay que correr scripts o usar línea de comandos
Se instala solo copiando las carpetas al root de Apache (o IIS)


y lo mejor:
La documentación es sencillamente extraordinaria. Profusamente comentada, con ejemplos sencillos y distintas variantes. No deja dudas de nada. Además cuenta con Wiki y foro para consultar ejemplos y demás. Tiene algunos videos que muestran como hacer paso a paso.

Ya usándolo es realmente muy fácil de entender como funciona y lo mantiene a uno perfectamente bajo control. A me me costaba muchísimo entender lo de MVC y gracias a este framework me ha quedado muy claro.

Estoy muy a gusto con él y la verdad acompañado con eclipse le da la vuelta a Delphi para PHP, el cual probé ya y simplemente es una buene idea con una pésima documentación, a ver si para la versión 2.

Estoy también leyendo sobre Smarty para complementarlo y sacar algo interesante pero de entrada es muy recomendable.

JXJ
27-01-2008, 01:35:01
duda

AzidRain

acompañado con eclipse le da la vuelta a Delphi para PHP
que version de eclipse es la que usaste..
hay varias versiones en java y unas como editor php.
un enlace a la web.. estara bien ..
gracias.

AzidRain
27-01-2008, 01:50:25
Perdón tienes razón..

Eclipse PDT (http://www.eclipse.org/pdt/)

PDT es la "version" de eclipse preparada para trabajar con PHP. Estoy muy a gusto con él a pesar de que en un principio lo desprecié. En este caso lo uso para trabajar con este framework, por desgracia no han salido plugins Code Igniter, lo cual sin duda haría más fácil trabajar con el framework. Yo lo que hago es abrir eclipse con mi proyecto y Firefox con una pestaña para probar el proyecto y otra para la guía del usuario, la cual como ya mencioné ocupo para salir rápidamente de dudas. A mi me parecer que la documentación es la verdadera joya de este framework. Yo siempre he sido del tipo de desarrollador poco estudioso que cuando estoy enmedio de un desarrollo solo necesito referencias rápidas y a veces "recordatorios" de tal o cual función. La documentación me vino como anillo al dedo porque encuentro rápidamente lo que quiero y si deseo estudiar más también me da oportunidad.

JXJ
27-01-2008, 06:05:31
Gracias.
AzidRain

ahora mismo me lo descargo

Yo siempre he sido del tipo de desarrollador poco estudioso que cuando estoy enmedio de un desarrollo solo necesito referencias rápidas y a veces "recordatorios" de tal o cual función.

yo tambien soy asi.. eso es lo que le falta a delphi4php
documentación clara y eficiente. si compre la licencia fue para hacer desarrollos rapidos
no para perder mi tiempo averiguando , como se hace cada cosa..

AzidRain
28-01-2008, 02:44:58
Yo por eso solamente no lo compré. Me pareció una burla porque si te fijas, la documentació ni siquiera la elaboró codegear, es más me pareció una tomada de pelo que la ayuda de PHP sea precisamente el manual de PHP que encuentra uno en el sitio oficial. Ya se que PHP no es invento de Codegear pero esperaba ver ayuda del tipo de la de Delphi. Por ningún lado hay ni siquiera un tutorial que te diga como hacerlo. Por otro lado, y ya hablando de programación. Delphi 4 PHP se sigue basando en el modelo de eventos del Delphi original, aunque esto es muy tentador en un principio, resulta muy confuso en la práctica ya que una aplicación web no se comporta como una de escritorio. El modelo MVC no por nada es el más utilizado para estas aplicaciones, cosa que al menos este Delphi no te permite usar.

dec
28-01-2008, 12:06:23
Hola,


El modelo MVC no por nada es el más utilizado para estas aplicaciones, cosa que al menos este Delphi no te permite usar.


¿Lo cualo? ¿Qué es MVC? Esto necesita una explicación. ;)

Ñuño Martínez
28-01-2008, 12:48:36
MVC es "Modelo-Vista-Controlador". La idea es separar la parte visual de la parte lógica (tanto almacenamiento como procesamiento) para hacer más fácil el mantenimiento.

Como veis, sigo la conversación. Parece ser que nos decantamos por CodeIgniter. Ya contaré cómo va la experiencia.

AzidRain
28-01-2008, 16:45:01
Pues mira mi buen Dec, yo no soy experto aún en el tema pero lo poco que he logrado comprender sobre MVC lejos de lo que haya podido leer que muchas veces te enreda mas es lo siguiente:

MVC= Modelo + Vista + Controlador

El controlador es una clase que se encarga de interactuar con el usuario (y solo el controlador lo debe poder hacer), sin embargo no tiene ni debe tener idea de como acceder a la base de datos, en su caso o como mostrar una página al usuario.

La vista es una clase encargada de mostrar cosas al usuario y en algunos casos recoger clicks o datos del usuario para pasárselos aun controlador ya que no sabe como manejarlas
A su vez, la vista puede recibir datos para mostrar.

El controlador es una clase que sabe como conectarse a una base de datos x, recuperar o guardar datos y en su caso devolverlos a quien se lo pida.

De manera que para hacer algo x, necsitamos al menos 1 controlador y 1 vista.

Ejemplo del diálogo entre una aplicación y un usuario:


Controlador: Ok, vamos a trabajar a ver vista de bienvenida, cárgate y muéstrate
Vista de bienvenida: Listo, me cargo y espero a ver que me piden
Usuario: A ver aplicación, quiero una lista de todos los clientes
Vista de bienvenida: Mira controlador, que dice el usuario que quiere esto que no se que es.
Controlador: Perfecto, a ver modelo, dame esta lista.
Modelo: Enseguida la saco.
Modelo: Aqui tienes el resultado de lo que pediste.
Controlador: Muy bien, a ver, Vista de Lista aquí tienes este array, por favor muéstralo.
Vista de Lista: Bien, ya está mostrada.
Usuario: Perfecto, es lo que buscaba.



De esta manera, es relativamente sencillo cmabiar algo. Puede uno desarrollar toda la aplicación sin preocuparse por ejemplo por el diseño y CSS. Para cambiar como se ve se mete uno a cambiar las vistas y no hay tanto problema. Por otro lado si usas por ejmplo MySQL y quieres cambiar a FB o Posgress te vas al modelo y es lo único que cambia.

Casi todos los frameworks usan este enfoque pero te enredan con sus cosas y terminas confundido, excepto Code Igniter, este te deja hacerlo como se te pegue la gana siempre y cuando dejes cada cosa en su lugar.

Ñuño Martínez
03-03-2008, 11:01:46
Reavivo este hilo para contaros la experiencia con CodeIgniter, que lo prometido es deuda.

En general me ha gustado. Está bien documentado, de forma que cuando las cosas no funcionan es fácil encontrar la descripción del "culpable" en la documentación y dar con una solución. Me ha gustado tanto que estoy utilizando un enfoque similar al utilizado por CodeIgniter para un proyecto personal; al final creo que el resultado será una versión simplificada del entorno (me encanta reinventar la rueda :p).

Lo que menos me ha gustado, por ahora, ha sido el acceso a la base de datos. De hecho no estamos utilizando la biblioteca de CodeIgniter sino que hemos instalado también ADODB (http://adodb.sf.net/), que ya utilicé en otro proyecto y me gustó bastante. Lo cierto es que esta biblioteca ha encajado muy bien dentro de CodeIgniter y no se molestan en absoluto. Es de suponer que con otras bibliotecas será similar, claro que dependerá.

También ha sido relativamente fácil de aprender, aunque el proyecto está un poco atrasado (¿y cuál no? :rolleyes::D), pero al cliente le ha gustado lo que he hecho hasta ahora.

En definitiva, si estáis buscando un entorno de desarrollo web basado en PHP, dad una oportunidad a CodeIgniter (http://codeigniter.net/).

dec
03-03-2008, 15:26:17
Hola,

Gracias por vuestros comentarios AzidRain y Ñuño. Se me había pasado este hilo por completo. :o

AngelV
17-05-2008, 18:44:12
Pregunta de novato, ¿se puede usar Rails con PHP?

Por lo que he visto Ruby on Rails puede ser una muy buena solución para aplicaciones web con MVC. Y creo que Rails es independiente de Ruby, por lo que puede ser una buena idea combinarlos.

D-MO
17-05-2008, 18:51:03
Una Búsqueda por Google (http://www.google.com/search?q=php+%2B+rails) nos dá no pocos resultados, aunque a ser sincero no tengo la menor idea de que sea ruby on rails:p

PHP On Trax (http://phpontrax.com) quizá te pueda gustar.