Генератор QR Code на Laravel

Генератор QR Code на Laravel

Создавайте QR-коды с помощью Laravel

Это оболочка для генератора QR-кодов для PHP, автономной библиотеки для создания QR-кодов в форматах PNG и SVG.

Источник: GitHub


Монтаж

Установить с помощью композитора:

$ composer require werneckbh/laravel-qr-code


Вам нужно добавить провайдера и псевдоним в ваш config/app.phpфайл:

<?php
    
'providers' => [
    LaravelQRCode\Providers\QRCodeServiceProvider::class,
],
    
'aliases' => [
    'QRCode' => LaravelQRCode\Facades\QRCode::class,
] 


Типы QR-кодов

Генератор QR-кода Laravel поддерживает следующие QR-коды:

  • Календарь событий
  • Сообщение электронной почты
  • Телефон
  • SMS
  • Текст
  • URL-адрес
  • meCard
  • визитная карточка v3
  • Настройки сети Wi-Fi


Применение

Ниже мы рассмотрим применение этой библиотеки на практике.

Обычный текст

<?php

Route::get('qr-code', function () {
    $png = QRCode::text('Hello world!')->png();
    dd($png);
});

Приведенный выше маршрут должен печатать изображение PNG для текстового QR-кода.


Отправить Email

<?php

Route::get('qr-code', function () {
    $png = QRCode::email('info@php-blog.ru', 'Lorem ipsum dolor...', 'Hello! I am Subject!')->png();
    dd($png);
});


Звонок по номеру телефона

<?php

Route::get('qr-code', function () {
    $png = QRCode::phone('Call Number', '+1 123 456-7890')->png();
    dump($png);
});


Поделиться своим контактом

<?php

Route::get('qr-code', function () {
    $png = QRCode::meCard('John Doe', '221b, Baker street', '+1 123 456-7890', 'info@php-blog.ru')->png();
    dd($png);
});


Расширенный контакт

<?php

Route::get('qr-code', function () {
    $firstName = "John";
    $lastName = "Doe";
    $title = "Title";
    $email = "info@php-blog.ru";
    $addresses = [
        [
            'type' => 'HOME',
            'country' => 'United Kingdom',
            'zip' => 'London',
            'state' => 'London',
            'city' => 'London',
            'street' => '221b, Baker st.',
            'pref' => true,
        ]
    ];
    $phones = [
        [
            'type' => 'HOME',
            'number' => '+1 123 456-7890',
            'cellPhone' => true,
        ],
        [
            'type' => 'WORK',
            'number' => '+1 123 456-7891',
            'cellPhone' => false,
        ],
    ];

    $png = QRCode::vCard($firstName, $lastName, $title, $email, $addresses, $phones)->png();
    dd($png);
});


Ссылка на ресурс

<?php

Route::get('qr-code', function () {
    $png = QRCode::url('https://php-blog.ru')->png();
    dd($png);
});


Подключение к точке доступа WiFi

<?php

Route::get('qr-code', function () {
    $authenticationType = "WPA2";
    $ssId = "MySuperSSID";
    $password = "Y0uC4n7f1nd7h3p4ssw0rd";
    $ssIdisHidden = false;

    $png = QRCode::wifi($authenticationType, $ssId, $password, $ssIdisHidden)->png();
    dd($png);
});