Frameworks: muchos recursos para comenzar con CakePHP

Hoy analizamos el primero de varios Frameworks que se utilizan para trabajar con PHP. Muchos odiamos los frameworks, pero tambien lo cierto es que uno abre el diario para buscar empleo y lo primero que ve es que los empleadores buscan personas que sepan Cake PHP, Simphony, Zend, Rails (Ruby) etc. Entonces lo mejor que podemos hacer es cubrirlos. Uno por uno. Así por lo menos ustedes ya van a saber de que va la cosa y van a tener la posibilidad de estudiar el asunto con mas detalle y quedarse con ese empleo que tanto buscan.

Muy importante que me cuenten (realmente sería genial si tienen ganas) cual es el Framework que más utilizan para trabajar, así como también que experiencias tuvieron con el uso de estos. Es también de curioso porque mientras escribía esto me preguntaba que tanto estaría usándose CakePHP.

cropped-cakephp11

Hoy nos metemos con CakePHP que tiene unos cuantos años ya pero muchos simplemente (a pesar de saber programar) lo han pasado por alto. Utiliza el modelo o el sistema mejor dicho llamado modelo, vista, controlador o MVC. Esto es así porque es una forma simple de desarrollar aplicaciones. Fue desarrollada en los años 70 (año 1979 para ser exactos) pero luego fue aplicado o implementado en las aplicaciones Web. No hay que confundir MVC con “ patrón de diseño” (pattern) es en realidad una especie de “modelo arquitectónico . El mismo describe una forma de estructurar una aplicación Web. ¿Qué es el controlador? ¿Qué es el modelo? ¿Qué es la vista?

Intentemos dar una explicación simple, para que luego ustedes puedan seguir por su cuenta. 😉

A grandes rasgos podemos decir que el controlador gestiona las peticiones de los usuarios. Controla como bien dice la palabra diversas acciones y peticiones del usuario. Bastante simple hasta aquí. Ahora bien el modelo son nada más y nada menos que los datos y las reglas aplicables a esos datos. El modelo le brinda al controlador una representación de los datos que este solicito. Contiene la parte más importante de la lógica de la aplicación. El controlador la tiene pero es a nivel interno de la aplicación.

Y la vista por ultimo nos ofrece la forma de presentar esos datos que nosotros recibimos desde el modelo.

¿Podemos decir entonces que una aplicación Web se compone de un conjunto de modelos controladores y vistas? Por supuesto que si.

CakePHP trae por defecto ya las carpetas separadas para que nosotros con el conocimiento apropiado de programación podamos trabajar de este modo. Es aconsejable que manejen POO (lease programación orientada a objetos) ya que si bien en este framework no es indispensable utilizarlo hoy en día se pide en todos los empleos.

Pero hoy quiero dar poca charla y quiero dar recursos. Muchos recursos para que puedan perder noches y noches con el mate o el café aprendiendo. Vamos primero con los que conseguí en español.

Como siempre el manual oficial es siempre la mejor opción para comenzar. En el caso particular de CakePHP esta en español y es súper simple de entender. El mismo nos guía paso por paso para que podamos construir nuestro propio sistema de blogs. Es un PDF que es ideal para imprimir. También lo pueden descargar gratuitamente en formato epub.

Eugenia Bahit (escribe en Hackers & Developers Magazine) y es una programadora bastante conocida y saco hace muy poco un libro sobre objetos y MVC que no tiene desperdicio, aparte de que es gratuito.

El segundo recurso es para mi uno de los mejores. Viene de la mano del ya muy popular maestro Jesús Conde. Para el que no lo conoce es profesor de historia pero brinda tutoriales gratuitos en vídeo sin ningún tipo de lucro desde hace años. Pese a manejarse en otra ciencia ha elaborado cientos de tutoriales en extremo didácticos sobre lenguajes de programación. Entre ellos claro esta, se encuentra Cake PHP.

La gente de Net Tutts hizo un tutorial al respecto divido en dos partes que es muy completo.

Nunca esta demás estar en un grupo de Google Groups para molestar a la gente con nuestras inquietudes y ayudar a otros a resolver otras.

CakePHP TV me encanto por la gran cantidad de tutoriales en vídeo que posee.

Cómo instalar CakePHP en un hosting compartido.

Cómo integrar Facebook con CakePHP.

Cómo hacer un acortador de URL’s con CakePHP.

Infaltable el libro en Amazon para que lo compren en versión digital.

Otro de Amazon.

Ebook gratuito.

Sobre cómo configurarlo este es genial. 🙂

En GitHub.

Trabajando con CakePHP y Flickr.

Hacer un file uploader.

Crear archivos PDF y trabajar con RSS mediante CakePHP.

Andrew Perk tiene un canal en YouTube al respecto que no tiene desperdicio. Es en ingles pero se entiende bastante. Pasen por ahí.

Por hoy terminamos con esta revisión pero pronto veremos los otros que hay para PHP. Pronto alguno que otro para Ruby, Python y por supuesto Java Script. 😉

Pueden dejar su experiencia si lo desean en los comentarios, suma como siempre, suma muchísimo.

Lo pueden obtener aquí.


Comentarios

5 respuestas a «Frameworks: muchos recursos para comenzar con CakePHP»

  1. Primero que nada gratamente sorprendido de ver un post como este en tu blog, ya que había llegado a él por el tema de vivir en España. Yo soy mas de la vieja escuela y hacer todo sin framework, pero hay veces que no es necesario invetar la rueda otra vez. En su momento me cree mi propio framework, después en las oficinas donde trabaje tuve que usar symfony pero no me gusto lo mismo que laravel y zend, me parecen demasiado complejos para hacer una web o una app web no muy compleja. Al final termine enamorado de codeigniter jaja. Es sencillo, tocas como mucho 3 arhivos de configuracion y ya lo tenes andando. Ademas con composer lo podes expandir a limites insospechado. Ahora tengo que aprender a usar la version 4 que lo vuelve a poner en la pelea por ser el mejor framework php.
    Saludos desde Argentina

  2. Avatar de Tincho

    Empiezo compartiendo tu idea: odio los frameworks!
    O mejor dicho, no encuentro beneficio en la curva de aprendizaje de un framework como Cake, Symfony, Zend, etc. donde hacen faltas meses y meses para dominarlos.
    Por otro lado, estoy de acuerdo con DRY, porque no podemos hacer de cero cada proyecto que encaremos.
    Y entonces que hago? En mi último desarrollo opté por un micro-framework: Slim
    Lo utilizo sus bondades comofront-controller, router, loggin, etc. y la lógica de la aplicación la codifico usando el patrón DAO/DTO (y un generador de código que me armé en 2 días). Y como en la web todo es MVC, la Vista me la proporciona PHPTAL, ya que es más fácil para trabajar con un diseñador que haga linda la web.
    Saludos!

  3. Hola Gonzalo! Muy bueno el post, interesante que estés cubriendo Frameworks en Acceso Directo! 🙂
    Respecto a este Framework, no lo he utilizado, tengo experiencia con CodeIgniter, Kohana y un poco de Symfony. Pero según he leído y visto por encima la API, es, al igual que CodeIgniter muy sencillo de usar, dígamos que para los que están iniciándose con esto de los Frameworks para PHP. Muy bueno que recalques la parte del patrón de diseño MVC, de lo mejor que hay para tener un código bien estructurado.

    Saludos!

  4. Hola, muy buen post… muchos recursos para ver y entretenerse, hay que ponerle ganas porque sino por mas framework que uses no vas a aprender nada.

    Ya que pediste opinión, hace unos 8-9 meses empece a trabajar programando en CakePHP. La verdad, cuando empecé no sabia ni lo básico de php, pero en un par de semanas, con muchas ganas de aprender, y el Cookbook al lado ya me defiendo bastante bien…

    Hay algo que note de tu post que resaltaste y me alegro que lo hayas hecho porque es muy importante, es sobre el modelo MVC, que la mayoría de la lógica debe estar en el modelo, sobretodo si se busca una modularización de código…
    Hay unas teorías acerca de engorgar el modelo, si quieren investigar busquen «Thin Controllers, Fat Models».

    En cuanto a comparaciones, no usé otros frameworks, pero he hablado con otras personas que si los han usado, y lo que dijeron es que son un poco mas dificiles de usar, son mas trabajosos para configurar, etc. No te puedo decir si son peores o no, solo que son mas difíciles.

    Muchas gracias por el aporte, y espero el de javascript.
    Saludos.

    1. Avatar de Gonzalo Caminos
      Gonzalo Caminos

      Gracias a vos por responder y por tu punto de vista! Gracias por lo del MVC también! La verdad es un concepto bastante nuevo para mi pero muy interesante. Ahora me dejaste con las ganas de chusmear (o goglear) esas teorías. Y si… Java Script en breve. 🙂

      Saludos y gracias de nuevo por compartir la experiencia!

Responder a Gonzalo Caminos Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *