Requiere: conocimientos básicos de programación y PHP.
En este segundo curso repasaremos lo aprendido en el curso básico y profundizaremos más temas mientras desarrollamos una aplicación con Laravel 5 desde cero. Algunos temas del curso:
Migraciones: creación de llaves foráneas y relaciones uno a uno, uno a muchos, muchos a muchos.
Seeders: creación de registros asociados
Eloquent: creación de relaciones entre modelos (uno a uno, uno a muchos, muchos a muchos)
Durante el 2013 y 14 escribí 20 tutoriales para Cristalab sobre Laravel, en Mayo del 2014 dicté un curso en línea sobre Laravel 4 y desde Agosto del 2014 he publicado más de 50 tutoriales, la mayoría videotutoriales de PHP y Laravel.
Compartir conocimientos es una faceta de mi carrera que me encanta, sin embargo hacerlo no es fácil: un video de 15 minutos, por ejemplo, lleva 4 horas de trabajo y muchas de estudio.
El framework Laravel 4 cuenta con una característica importante, y es que fue reconstruído de manera modular, de tal forma que sus componentes pudieran ser utilizados independientemente.
Algunas veces decidimos no utilizar un framework full-stack en nuestros proyectos con el fin de llevar a cabo una organización personalizada de los directorios o por cualquier otro motivo, pero por todos es conocido aquel dicho de no reinventar la rueda; así que si existen herramientas tan buenas como los ORM no hay razón para que aún estemos escribiendo sentencias SQL directamente en nuestro código (a menos que, una vez más, sea un motivo de fuerza mayor debido a las particularidades del proyecto).
Hay diversas soluciones libres para la implementación de un ORM en un proyecto PHP, como PHP Active Record, pero dado que los lectores de este blog somos amantes de Laravel, preferimos Eloquent para llevar a cabo esta tarea. Así que vamos a ello…
El lanzamiento de Laravel 4 (también conocido como Illuminate), representó un gran cambio con respecto a la versión anterior. Laravel 4 reemplazó un framework que estaba construido mayormente por métodos estáticos, con otro que usa el poder de la inyección de dependencias, además de otros conceptos como los proveedores de servicio (o service providers) y, por supuesto, Composer. Sin embargo, a través del uso de Facades, se mantuvo el uso de los llamados como Route::get, View::make, etc.
Por lo tanto la versión 4, aunque incluyó muchos features, fue más, en mi opinión, un cambio de estructura por dentro, que de cara al usuario. Es decir, instalas Laravel 4 y aún puedes ver las mismas carpetas app/controllers, app/models/, y las mismas rutas en routes.php que tenías en Laravel 3:
Ahora, Laravel 5, además de nuevos features que amo como la inyección de dependencias dentro de los métodos, y otros que no me gustan tanto como las anotaciones en los controladores, es un cambio más hacia al usuario, la infraestructura del framework sigue siendo muy similar, pero el cambio se le plantea al usuario. Comenzando con un directorio de carpetas completamente nuevo:
El 2012 fue un año muy duro para PHP, frameworks como Django, Node.js y Ruby on Rails cobraban cada vez más fuerza, a la vez que cientos de artículos, conferencias, videos etc. criticaban duramente a PHP.
Paralelamente el 2012 fue un gran año para PHP, proyectos como Symfony 2, Laravel 3 y Composer prometían una manera mucho mejor de escribir PHP.
Si bien en el 2012 y años anteriores todos pensaban que PHP iba a desaparecer, hoy nadie lo pone en duda como un lenguaje sólido para programar back-end.
Pero esto no quiere decir que mágicamente tu PHP se convirtió en buen PHP o que lo estás haciendo bien. Hay que tener en cuenta que, aunque hoy nadie duda de proyectos como Laravel o Composer, para el 2013 aún gran parte de la comunidad de PHP se resistía al cambio, artículos de Laravel vs Codeigniter ocupaban nuestro tiempo y habían personas que afirmaban que instalar Composer era un paso innecesario, etc.
Entonces, para salir de dudas vamos revisar 5 puntos para comprobar si realmente estás escribiendo un buen PHP:
En tan sólo 2 semanas, este sitio ya cuenta con 10 tutoriales y 2 horas y media de video disponibles para ti.
Estoy muy entusiasmado con este proyecto y quiero seguir dedicandole muchas horas a continuar con el CMS, la guía de Codeception, la nueva guía de Laravel para principantes y otros proyectos nuevos, pero no es sólo tiempo y dedicación lo que hace falta para mantener este sitio, también hace falta cubrir gastos, y ahora me urge adquirir un micrófono profesional para mejorar la calidad de los videos, para ello quisiera contar con tu aporte.
Otros cursos en línea cuestan 100 dólares o más, en cambio, yo sólo necesito que tú y otros 11 usuarios colaboren con 10 USD para poder estrenar videos con mejor audio y aún mejor contenido.
¡Meta cumplida! Muchas gracias a todos por sus aportes. Si quieres colaborar de ahora en adelante con el proyecto, puedes hacerlo uniéndote a uno de nuestros planes.
A finales de 2013 e inicios del 2014, escribí una serie de tutoriales sobre Laravel para la comunidad Cristalab, que van desde lo más básico, hasta conceptos más avanzados como inyección de dependencias en la programación orientada a objetos, pasando por la explicación de cómo crear un módulo CRUD en Laravel de principio a fin.
Aunque Cristalab ya no está disponible, puedes ver cientos de lecciones nuevas en Styde de la versión 5 de Laravel. Sólo tienes que visitar: nuestra página de cursos o nuestro blog. Ver post
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.