Frameworks PHP

Merkury

#27 Efectivamente CI no trae ORM por defecto, como ya dije antes.

De todas formas Composer no es exclusivo de Laravel, yo uso Composer con Symfony.

Gantorys

+1 a Laravel 3, la 4 aún no he mirado aún

sh31k

Buenas, aprovecho el hilo para dejar una consulta, ahora que llega junio y el horario veraniego quería meterme a estudiar algo por las noches y he pensado en meterme con un framework PHP.

He acabado DAW recientemente y haciendo las prácticas en una empresa de turismo en Canarias, me han ofrecido un contrato (si, no estoy de coña!! xDD), pero en verano empezaré a salir a las 3, así que tendré algo de tiempo para gym + mejorar lo aprendido.

Me gustaría que me recomendáseis algún libro en Amazon para aprender a fondo ya sea CI o Symphony (o ámbos, no me importaría pillar 2 buenos tochos y decantarme por alguno después), y ponerme seriamente ahora en verano.

Decir que tengo un nivel medio-alto de PHP, JS, Jquery, JQM, SQL, Java, C#, etc. No se si influye a la hora de escoger un libro de nivel medio o avanzado, pero por si acaso lo dejo escrito.

El idioma no es problema, obviamente si está en Español y el nivel del libro no dista mucho de uno similar pero en inglés, pues lo prefiero en español, pero si hay alguno que sea muy bueno en inglés, pues no habría problemas.

Un saludo!.

#34 Muchísimas gracias!.

1 respuesta
HeXaN

#33 En #24 te cito un autor.

2 respuestas
7 días después
txandy

Estoy empezando a entender Symfony después de 3 veces que he intentado empezar con el framework... Me parece increíble lo poco que he visto :S

1 1 respuesta
sasher

Estoy haciendo una tienda web (por favor no preguntéis por qué xD) y ya casi está terminado, pero me he dado cabezazos contra el hecho de hacer un carrito de la compra desde 0 y me preguntaba si al haber usado un framework de estos todo habría sido menos caótico, porque tengo unos líos en algunos archivos entre jQuery y PHP que serían dignos del mismo infierno. Sin embargo funciona y ha quedado vistoso, no me voy a quejar tampoco ._.U

Por si queréis darme algún feedback (visual), aquí dejo algunas capturas:


Aun quiero pulir algunas cosas, como resaltar la categoría en la que estás por ejemplo xD.

1 respuesta
txandy

#36 ¿porque? xD

Menos caotico no creo, porque ahora como tu dices tienes mil archivos esparcidos por el host, liosos y espérate de aquí a unos meses que quieres editar/modificar o alguien use tu código, veras que risas :D

No digo que la programación sin frameworks sea mala/caotica/etc pero hay que ir con mucho cuidado intentar no mezclar la parte PHP y el HTML, que a la larga es una especia de MVC...

Lo que consigues con un framework, es tener cada cosa en su sitio, obligarte a ser ordenado y ademas tener una base robusta y muy testeada. Y si en un tiempo vas a actualizar la web/modifcarla/ lo tienes bien colocado en su sitio.

Lo bueno, por ejemplo de symfony es que tu tienda se crearia como un modulo, y ese modulo lo puedes usar donde quieras, en otros proyectos, liberarlo al público, etc facilmente. Es más podrias tener 2 modulos, el modulo de Usuarios y el modulo de tienda, etc (En symfony se llaman bundles) y ya lo tendrías como aquel que dice para siempre y simplemente importarlo a otros proyectos.

Te recomiendo que te mires algún framework, si no has tocado nunca ninguno te recomiendo CI(codeigniter) ya que es facil de empezar y no es muy restrictivo ;)

Al principio es un coñazo, porque tienes que ir mirando cada 2 por tres la documentación y para hacer una cosa que de la otra forma tardarias 5minutos aqui tardarás 20min pero a la larga cuando lo dominas es una maravilla :D

Edito, el diseño esta bien, el tipico bootstrap :P Lo divertido es testear el código, ver lo seguro que es etc :P

1 respuesta
sasher

#37 Gracias por los consejos! La siguiente web que haga se que ya me toca usar algún framework, que esta es la segunda que hago y lo mas "innovador" que tiene para mi es que he aprendido a usar jQuery y las cookies, que después de todo lo que he leído debería de haber usado sesiones, pero bueno, eso lo dejo para otra web xD

Lo del carrito lo digo porque habiendo otras soluciones como PrestaShop no se para que me meto en estos berenjenales, pero bueno, era por aprender ya de paso xD

Y claro es lo que dices de ordenado y tal; ahora mismo tengo hasta estilos css en línea con el html (seguro que alguien leyendo esto desea mi muerte), entre otras perlas, y lo que me "jode" por así decirlo es que proyectos como este en el futuro para mantenerlos van a ser un dolor de cabeza.

2 respuestas
txandy

#38 pero cuando sepas o estes acostumbrado a algun framework te saldrá mas a cuenta rehacer la web con un framework, que lo haras en un momento será mucho mas limpio y no te volverás loco al actualizar/mantener xD

Merkury

#35 A mi me paso lo mismo, pero una vez entendido cremita, especialmente el routing eh... mirate el FOSUserBundle ya verás que risión para la gestión de usuarios.

#38 Meter inline CSS si no abusas de ello, no es para matarte, ves si dijeses es que he usado tablas, entonces ya...

MisKo

Siempre que veo estos temas me dan ganas de Aprender symfony, y nunca me pongo a hacerlo.

Yo ya tengo "mi mvc" que he ido mejorando a lo largo del tiempo y de distintos proyectos y no se hastá que punto me convendría aprender symfony.

Además, tengo que tener en cuenta que no trabajo solo, si no que trabajo conjuntamente con diseñadores y maquetadores. Que tal symfony para ellos?

1 respuesta
xMarston

#41 Si aprenden twig, que no es nada complicado, ya les vale.

MisKo

Estoy mirando twig, y veo, por dentro de los bloques HTML, que meten codigo ( propio de twig ) donde deberían estar las variables o los loops, etc..

Esta parte la tendría que hacer yo, asi que quitando esa sintaxis, lo demás es como un archivo html verdad, no?

Mas que nada, por no poner a un diseñador a escribir en vez de "Pepito" {{nombre}}

1 respuesta
Merkury

#43 Si, es muy sencillo para lo básico, pero si te metes a hacer cosas mas complicadas tiene una potencia enorme.

MisKo

si realmente me apetece muchisimo aprender symfony ya que considero que es muy util y que en un futuro pueda serlo mas.

Lo que me echa para atras es el tener que ponerme a leer, hacer pruebas con el hola mundo, etc.. xD

Y tardar, para lo que hago ahora mismo en 2 horas, 2 dias xD

1 respuesta
txandy

#45 pero este mes tardaras 2 días, pero el mes que viene tardaras 1 hora... Es una inversión jeje

Yo creo que es mucho mejor usar un framework "famoso" y no uno creado por nosotros mismo, por el mero hecho que symfony esta hecho por la comunidad, testeado y retesteado... ademas es mas probable encontrar a diseñadores/programadores que ya trabajen o aprendan a trabajar en symfony (la documentación que hay es muy grande) mietras que para tu sistema vas a tener que "perder" el tiempo explicando o haciendo documentación, manteniendola, etc...

No lo veas como un gasto de tiempo, es una inversión :)

1 respuesta
MisKo

#46 ya ya, si estoy de acuerdo contigo, pero como todo lo nuevo, da algo de pereza cuando ya llevas tiempo en esto.

Pero bueno, renovarse o morir.

Prefiero saber de las 2 tecnologías y poder elegir con cual quiero hacer un proyecto :)

#34 acabo de comprar el libro ese ;)

1 respuesta
HeXaN

#47 Buena elección :3

2 respuestas
MisKo

#48 si, por 10€ tienes el libro y se va actualizando y tal.

Ademas, que no es pequeño, 617 paginas, su padre xD

2 respuestas
txandy

#48 #49 Yo también lo compré y estoy muy contento, las explicaciones son muy buenas, te lo aclara todo bastante y ademas tienes el repositorio de ejemplo un 10 al libro :D

#49 Voy por la 200 y pico y se me esta haciendo muy fácil de leer.

HispanicO

#49 ¿Sabes por casualidad si al comprar la versión en papel puedes optar a actualizaciones en PDF? (Porque imagino que no en papel). Para buscar prefiero el PDF, pero para leer detenidamente y tomar notas soy más clásico.

Veo que tiene bastante fama en esta comunidad. ¿Recomendaríais alguna alternativa que esté incluso mejor? (inglés bienvenido).

MisKo

Que yo sepa no hay versión en papel del libro :-)

1
HispanicO

Vaya... ¿Y sobre otras recomendaciones?

MisKo

Ya he entrado al trapo con Symfony y de momento me gusta bastante.

He empezado un gestor de clientes y proyectos, a ver que tal me va xDD

Kiroushi

Nadie usa CakePHP? Yo lo veo de lo mejorcito.

1 respuesta
txandy

#55 yo lo he tenido en el punto de mira durante mucho tiempo, realmente no lo he llegado a probar, por lo que leia decian que era un poco bastante lento en comparacion con el resto.

MisKo

estoy mirando ahora mismo la parte de formularios y tal de symfony, y se complican tontamente para ejecutar codigo despues de un post o antes, etc..

Alguien que use las llamadas esas con los listeners y tal? xD

#58 -> #59

Merkury

¿Que se complican?

 
 if($request->isMethod('POST'))
{
     $form->bind($request);
      if($form->isValid())
     {
          $em -> merge($genero);
          $em -> flush();
          $this->get('session')->getFlashBag()->add('notice', '¡Modificación realizada con exito!');
          return $this->redirect($this->generateUrl('genero_gestion_index'));
     }
}

Ahí tienes el recoger el formulario, actualizar la BBDD y mostrar un mensaje to molon.

Y mira, en este otro me saco el rol seleccionado en el form y lo paso a una variable para mandarlo al FOS como rol del user XD.

 if($request->isMethod('POST'))
{
    $form->bind($request);
    if($form->isValid())
   {
         $formData = $this->getRequest()->request->get($form->getName());
         $rol = $formData['roleList'];
         $user->addRole($rol);
         $user->setEnabled(true);
         $userManager->updateUser($user);
         $this->get('session')->getFlashBag()->add('notice', '¡Creación realizada con exito!');
          return $this->redirect($this->generateUrl('user_gestion_index'));
    }else{
          $this->get('session')->getFlashBag()->add('fail', 'Error desconocido');
    }
}
2 respuestas
MisKo

#58 eso es para validar un formulario, me refiero al tema de los listeners y los eventos del kernel y demas morralla xD

EDIT:

Por cierto, en lo referente a formularios y tal, supongo que no hay ningun problema en yo crear mis propios formularios y controlar los datos que entran , verificarlos, etc.. y luego dar de altas las cosas sin contar con este tipo de objetos de symfony, no?

Es decir, yo me hago un formulario en HTML, que haga el post a otra pagina, y en dicha pagina, recibo las variables y tal por $_POST como es normal, y ya con ello hago lo que quiera, no?

2 respuestas
Merkury

#59 Hombre, si pero la gracia de esto es que para generar un form tirando de entidades es MUY sencillo y el manejo de los envíos, actualizaciones en la BBDD a través de form, etc se hace muy cómodo.