Generar código Qr en laravel

¿Qué es un código QR?

Un código qr es código de barras bidimensional cuadrada que nos permite almacenar información codificada en él. El caso más común de uso es el almacenamientos de URL que puede ser escaneadas por el usuario para ir directamente al sitio web que el código tiene almacenado.

Existen más casos de uso de este código, como por ejemplo, la web de whatssap que nos proporciona un código QR para hacer login con nuestro teléfono en su aplicación web.

¿Como generar un codigo Qr en laravel?

Muy fácil, vamos a hacer uso de un paquete muy sencillo para nuestra tarea, Simple QrCode. En menos de cinco minutos tendremos nuestro código QR mostrandose en nuestra vista de laravel.

Instalación del paquete simple QrCode

Vamos a dirigirnos a composer.json de nuestra aplicación de laravel, que se encuentra en la raiz de nuestro proyecto y vamos a añadir el paquete simple Qrcode en el array require de nuestro archivo:

"require": {
        ...
        "simplesoftwareio/simple-qrcode": "~2"
    },

Tras añadir el paquete, utilizaremos el siguiente comando para instalarlo en nuestro proyecto:

composer update

Configuración de simple QrCode

Ahora, en nuestro proyecto Laravel nos dirigimos a app.php, que se encuentra en la carpeta config, en la raiz de nuestro proyecto. Añadiremos las clase en nuestro array providers de la siguiente forma:

'providers' => [
        ...
        SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,
]

Una vez hecho esto, vamos a ponerle un alias para poder llamar a la clase sin tener que utilizar toda esta referencia. Para ello, vamos a dirigirnos al array aliases del mismo archivo, que se encuentra depués del array providers y le añadiremos el siguiente alias:

'aliases' => [
        'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

    ],

Generar código QR

Vamos a la vista donde queramos mostrar nuestro código y vamos a generar un código QR de www.nigmacode.com,  de la siguiente forma:

<div class="title m-b-md">
   {!!QrCode::size(300)->generate('www.nigmacode.com') !!}
</div>

De está forma, creamos un código qr con 300px con la función size y este sería nuestro resultado:

Al igual que hemos usado la función size de la clase para fijarle un tamaño a nuestro código, también podemos utilizar estás funciones:

QrCode::color(255,0,255); //Cambia el color de nuestro codigo
QrCode::backgroundColor(255,255,0); //Le añade el color al background del codigo
QrCode::margin(100); //Le añade la propiedad margin al codigo

 Si aún así, quieres realizar algo más complejos con este codigo Qr, visita la página oficial del paquete Simple QrCode, dónde encontrarás más información.