Создавайте 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);
});