Laravel: establecer manualmente URL “intended”

En este post sobre Laravel aprenderás a modificar o establecer manualmente la URL intended o URL de destino dentro de un middleware.

Por si no lo sabes, la URL de destino (al menos para este contexto) es aquella URL a la que el usuario intentaba acceder antes de que un middleware lo interceptara y redireccionara.

En otras palabras, supongamos que quieres acceder a la url “panel-de-control”. Si no estás logueado, se redirecciona a “login”; en este caso la URL de destino sería “panel-de-control” pues era la URL a la que intentabas acceder.

Lo que veremos será cómo modificar esa URL dentro de un Middleware personalizado.

(más…)

Generar slug único con Laravel

En este post te mostraré cómo generar un slug o URL amigable a partir de una cadena, pero además de eso, te enseñaré a que ese Slug sea único y que no se repita aunque la cadena de entrada sea la misma.

Con esto quiero decir que vamos a generar un slug único en Laravel con el lenguaje PHP y algunas funciones del framework.

(más…)

Laravel: cambiar tipo de dato en migración

En este post sobre Laravel y SQL te voy a mostrar cómo cambiar el tipo de dato de una columna en la tabla, usando una migración de Laravel para evitar hacerlo manualmente. De este modo llevamos un control de versiones de la base de datos.

El ejemplo que te mostraré para cambiar el tipo de dato de una columna en Laravel no usa la dependencia dbal, de hecho no usa ninguna dependencia extra, pues utiliza una sentencia propia de SQL.

(más…)

Por parzibyte, hace

Laravel – Manejar varios idiomas

En este post te mostraré cómo puedes mostrar tus sitios, aplicaciones o sistemas en Laravel en distintos idiomas usando lo que ya ofrece el propio Framework. Es decir, mostrar tu aplicación web de Laravel en inglés y español, por ejemplo.

Varios idiomas en aplicación de Laravel con PHP

Te voy a mostrar un ejemplo simple.

(más…)

Laravel: obtener nombre de ruta en Middleware

Hoy te mostraré cómo acceder a la ruta a la que se intenta acceder cuando se intercepta el flujo de Laravel en un middleware.

Es decir, saber, dentro del middleware, a cuál ruta quiere navegar el usuario y a partir de la misma dejarlo pasar o denegarle el permiso. También se puede registrar la ruta, etcétera (todo lo que se puede hacer en un middleware).

(más…)

Laravel: obtener SQL generado por ORM

En este post te mostraré cómo obtener el código SQL que Laravel ejecuta al usar el ORM. Es decir, obtener el SQL generado por Eloquent. Por ejemplo, si tú haces un DB::table("productos")->all(); te mostraré cómo obtener la consulta generada que sería SELECT * FROM productos.

Todo esto que te menciono es útil al depurar, pues así puedes ver si te estás equivocando en algún método. Además, también sirve para aprender Laravel, pues se puede observar cómo es que los métodos modifican a la consulta interna.

(más…)

Laravel: paginación de registros

En este post te voy a mostrar cómo puedes realizar una paginación en Laravel; es decir, mostrar registros (de la base de datos) por página, en lugar de mostrarlos todos a la vez.

Laravel ya provee una manera realmente sencilla de agregar paginación, incluso da la opción de agregar los enlaces a la página, y por supuesto, también permite cosas como la búsqueda u otros métodos del Query Builder, todo esto sin escribir ninguna consulta SQL manual.

(más…)

Crear PDF con Laravel

En este post te mostraré cómo crear o generar un PDF usando Laravel y las ventajas que nos ofrece este framework.

Vamos a usar la librería dompdf que, en combinación con Laravel y una librería extra, nos permitirá renderizar vistas de Blade y convertirlas a PDF de una manerae realmente sencilla.

Asumo para este caso que ya sabes usar Laravel al menos de manera mínima, y que gestionas las dependencias de tu proyecto con composer.

También me gustaría recomendarte mi post sobre dompdf con php nativo; que si bien no es necesario, te ayudará a ver qué otras cosas puedes hacer. Entre los ejemplos está una factura con Bootstrap 3 o un ticket para impresora térmica.

(más…)

Laravel: agregar campos a User

En este post te mostraré cómo puedes agregar campos de la tabla “users” en Laravel para así poder añadir algunos campos al modelo User. Explicado con otras palabras vamos a modificar la tabla de usuarios.

Con este modelo me refiero al usuario que se usa para iniciar sesión y en general hacer la autenticación en Laravel. Veremos cómo agregar otro campo además de los que ya existen.

(más…)

Laravel: obtener URL pública

En este post veremos cómo determinar o saber la URL de un proyecto de Laravel, es decir, obtener la URL absoluta.

Esto sirve en ocasiones que necesitamos determinar la url completa para por ejemplo consumir una API de Laravel desde JavaScript, incluir assets, determinar el dominio, etcétera.

Con esto me refiero a que obtendrías una URL como:

http://localhost/sistema_ventas_laravel_julio/public/

O, si está en un dominio de internet, algo como:

https://parzibyte.me/apps/sistema_ventas_laravel/public/

(más…)

Laravel: insertar datos en migración

En este post sobre Laravel y bases de datos veremos cómo insertar datos al momento de realizar la migración (proceso en el cual se crean o modifican tablas de la base de datos).

Esto puede servir para cuando tenemos que insertar datos por defecto o datos que solo se deben insertar una vez (por ejemplo, durante la instalación del sistema).

Personalmente utilicé este método para insertar el cliente “Mostrador” en una modificación que estoy haciendo al punto de venta en Laravel.

(más…)

API REST con autenticación en Laravel

En este tutorial te voy a mostrar cómo crear una API REST en Laravel usando Laravel Passport. Gracias a esto podrás exponer tu API y consumirla con JavaScript (para una app web del lado del cliente) o con una app móvil y cualquier lenguaje que hable HTTP con JSON.

Lo interesante es que además de configurar una API JSON en Laravel, vas a aprender cómo agregar autenticación; de este modo los usuarios podrán iniciar sesión, recibir un token y luego usarlo para realizar las otras operaciones.

Verás que es muy sencillo. Al final del post colocaré unas pruebas de consumo de la API con Postman.

(más…)

Proteger directorio raíz de Laravel

En este post te mostraré cómo proteger el directorio de una aplicacón web de Laravel para evitar que un usuario acceda al archivo .env o a otros archivos.

Como sabes, cuando usas Apache para servir una app de Laravel, se puede acceder a todo el proyecto desde la web, no solo al directorio public. Por lo tanto, cualquier usuario podría acceder al archivo .env o a otros.

Es por eso que veremos cómo proteger una app de Laravel servida por Apache; ya que si, por ejemplo, la sirves usando artisan serve o con algo como Homestead, este paso no es necesario.

(más…)