Como instalar Laravel 5.1

laravel-5-1-instalacion-y-primer-proyectoYa con la nueva versión de Laravel  disponible, veamos como instalarla. Uno de sus nuevos requerimientos es el de utilizar PHP 5.5.9 o superior, así que quizás tengas que hacer algunas modificaciones en tu entorno de trabajo. Ver post

Introducción al patrón repositorio

El patrón repositorio, actua como una capa intermedia entre tu aplicación y la base de datos.

La idea es encapsular el código que interactúa con la base de datos: es decir aquel que genera consultas SQL para traer datos de la base de datos hacia la aplicación o inserta, actualiza y elimina dichos datos.

Cuando usamos Laravel, este código está escrito con el ORM Eloquent o con el constructor de consultas Fluent, y suele ser muy limpio, sin embargo a medida que los requerimientos del proyecto crecen, este código también crece y lo más conveniente es separarlo a otra capa, que no sólo reducirá la cantidad de código del controlador, sino que hará nuestras consultas reusables en otros controladores y partes de nuestra app, y por otro lado también nos permitiría ejecutar pruebas (tema que veremos en otros cursos).

Dividí esta lección en 3 temas para facilitar su estudio y revisión posterior:

En esta lección, nos encargaremos de mover el código que se encarga de generar las consultas para mostrar tickets, del controlador a nueva capa llamada repositorio.

Además me tomaré unos momentos para corregir un par de bugs de la página de detalles de tickets.

Mira el código en GitHub: actual, resultadocomparación.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Subconsultas con SQL y Eloquent (selectRaw)

Ya estamos obteniendo el autor utilizando eager loading, pero aún nos falta obtener la cantidad de votos y de comentarios en una sola consulta.

En programación, hay muchas maneras de solucionar un problema, hoy les enseñaré cómo crear subconsultas SQL para obtener información de otras tablas (en nuestro caso la cantidad de votos y la cantidad de comentarios) dentro de la consulta a la tabla de tickets.

Las subconsultas en SQL como su nombre lo indica son consultas que se escriben y ejecutan dentro de otras consultas de SQL.

Para facilitar tanto el aprendizaje como el desarrollo del código, lo primero que haremos será probar las subconsultas dentro de PHPMyAdmin (o Sequel Pro o cualquier otra aplicación que estés usando para manejar la base de datos) y luego pasaremos el código a Laravel.

Mira el código de esta lección en GitHub: actual, resultadocomparación.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Combinar HTML y PHP sin morir en el intento

combinar-html-y-php

Todos amamos las sintaxis que nos provee el motor de plantillas Blade para escribir nuestras vistas, y no es el único, hay otros motores de plantillas geniales como Twig o Smarty, escritos en y para PHP.

Pero imaginemos por un momento que tienes un proyecto que no está usando ningún framework: quizás te toque escribir código para WordPress como a mí, o editar algo de «legacy code» de un proyecto, e instalarle Smarty o algún otro template engine no es una opción viable. Ver post

Los ORMs y el problema de N+1

Hay una tendencia nociva de despotricar contra las tecnologías de más bajo nivel, cada vez que sale una tecnología nueva y de más alto nivel. Por ejemplo: hablar bien de Laravel o WordPress pero mal de PHP no tiene sentido, hablar bien de Sass, Less o Stylus pero mal de CSS es absurdo, hablar bien de los ORMs y decir que escribir SQL está mal, es ilógico. A la final Laravel y WordPress están hechos en PHP, Sass compila a CSS y los ORMs generan consultas SQL.

Si queremos ser verdaderos profesionales, debemos entender no sólo las tecnologías de alto nivel (Laravel, Eloquent) pero también los lenguajes en los que se apoyan estos frameworks y componentes (PHP, SQL).

Trabajar con Eloquent, por ejemplo, pero ignorar que el ORM necesita ejecutar consultas SQL a la base de datos y que la cantidad de consultas que se necesitan para cargar una página sencilla pueden salirse de control si no somos cuidadosos es algo delicado en cuanto al rendimiento de tu aplicación se trata, y no hablo de sobre optimizar sino de sentido común.

Por ejemplo: ¿Sabes cuál es el problema de N+1 en los ORMs? ¿Sabes cuantas consultas se están generando en TeachMe para mostrar el listado de tickets y cómo mejorar eso? ¿No? Entonces estás viendo el curso correcto.

Por supuesto para presentar un prototipo, Eloquent y otros ORMs son geniales, pero una vez terminada la llamada de Skype con nuestro cliente imaginario, quiero decir, segunda parte del curso, es hora de comenzar a aprender temas más avanzados y refactorizar nuestra aplicación…

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Recibe consejos útiles y múltiples recursos directamente en tu correo