jQuery y Laravel: Mensajes de Alert con Javascript y Bootstrap

Si buscas en Google algo como «Bootstrap messages» o «Bootstrap alert» etc. encontrarás componentes como Bootbox.js y muchos otros, para TeachMe yo los considero un poco complicados.

Así que qué te parece si te enseño un componente que yo desarrollé en el 2008 cuando no existían 358.590 frameworks de Javascript.

Vamos a utilizar dicho componente para mostrar mensajes de Alert de confirmación cuando un usuario vota o cuando ocurre un error.

Además vamos a programar la funcionalidad para aumentar el conteo de votos cuando una persona vota desde el listado de tickets.

Considera esta lección, una pequeña clase bonus a poco tiempo de terminar las lecciones del curso 2.

En la siguiente lección vamos a refactorizar el código producido durante ésta y la lección anterior.

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

jQuery y Laravel:Funcionalidad para votar con AJAX

En esta lección, aprenderás cómo crear una funcionalidad AJAX con jQuery y Laravel. Si ya viste la clase del curso básico (Eliminar registros con AJAX) esta lección te servirá de repaso, pero además aprenderás a utilizar un pequeño componente (creado por mí) para mostrar mensajes Alert dinámicamente (con JavaScript) y también aprenderás a refactorizar tu…

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

Uso de repositorios para persistir datos

Por supuesto, nuestro trabajo con los repositorios no está completo, si aún estamos usando Eloquent para grabar tickets, votos y comentarios.

La idea de los repositorios no es sólo mostrar sino también persistir datos (es decir, ejecutar las operaciones de INSERT, UPDATE y DELETE), ya sea que nos apoyemos en un ORM como Eloquent o que estemos escribiendo consultas manualmente usando PDO u otro componente.

Considera el siguiente ejemplo:

    $ticket = $auth->user()->tickets()->create([
        'title'  => $request->get('title'),
        'status' => 'open'
    ]);

No sólo seguimos usando Eloquent en el controlador, sino que estamos atando 3 componentes de Laravel en una simple línea ¿Puedes verlos? Son: Auth, Eloquent y Request. Este código no es nada reusable, sería por ejemplo imposible crear un ticket para otro usuario que no sea el usuario conectado, sin hacer cambios al código.

¿Te imaginas cómo podrías separar la lógica de Eloquent para crear un ticket del resto de los componentes de Laravel y crear así otro método en el repositorio de Ticket? Esto es lo que veremos en la clase de hoy.

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

Integrar Google Maps en Laravel 5 con el componente Phpgmaps

google-maps-laravel

Todos en algún momento hemos pensado insertar mapas en nuestra aplicación realizada con Laravel 5, y llegamos hasta pegar el código embed  directo en nuestra plantilla con blade.

Hoy les explicaré como instalar una dependencia llamada Gmap para Laravel 5 y algunos ejemplos para la manipulación de los datos.

Nota: este complemento fue abandonado por su creador. Ya existe este tutorial con un nuevo componente. Integrar Google Maps en Laravel

Ver post

Repositorio base (repaso de clases abstractas y herencia)

TeachMe es un proyecto sencillo, de tan sólo unas 5 tablas, pero ¿Qué pasaría si necesitas trabajar en un proyecto con decenas de modelos? Lo más probable es que necesites repetir los mismos métodos para uno o más repositorios y esto no cumple con el principio DRY. Este problema se puede resolver de varias maneras, una de ellas es implementar un repositorio base (así como creamos un seeder base o como Laravel dispone de un controlador base).

Entonces en esta clase crearé dicho repositorio base, y aprovecharé la ocasión para darte un repaso sobre herencia en la programación orientada a objetos y sobre clases abstractas.

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

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

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.

Suscríbete a nuestro boletín

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

Suscríbete a nuestro boletín

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

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.