Biblioteca de Códigos QR em PHP

Gere Códigos QR com PHP

PHP tem excelentes bibliotecas de códigos QR como endroid/qr-code para aplicações web modernas e chillerlan/php-qrcode para geração leve. Perfeito para Laravel, Symfony e WordPress.

Instalação

Instale as bibliotecas de códigos QR PHP usando Composer.

Composer
composer require endroid/qr-code
Composer (alt)
composer require chillerlan/php-qrcode

Gerar Códigos QR com Bibliotecas PHP

Exemplos de código usando bibliotecas populares de códigos QR PHP.

Basic QR Code with endroid/qr-code

<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qrCode = new QrCode('https://qrcode.fun');
$qrCode->setSize(300);
$qrCode->setMargin(10);

$writer = new PngWriter();
$result = $writer->write($qrCode);

// Save to file
$result->saveToFile('qrcode.png');

// Or output directly
header('Content-Type: ' . $result->getMimeType());
echo $result->getString();

QR Code with Logo (endroid)

<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\ErrorCorrectionLevel;

$qrCode = new QrCode(
    data: 'https://qrcode.fun',
    size: 300,
    margin: 10,
    foregroundColor: new Color(26, 43, 60),
    backgroundColor: new Color(255, 255, 255),
    errorCorrectionLevel: ErrorCorrectionLevel::High
);

$logo = new Logo(
    path: 'logo.png',
    resizeToWidth: 80
);

$writer = new PngWriter();
$result = $writer->write($qrCode, $logo);
$result->saveToFile('qrcode_logo.png');
QRCode.fun API

Gerar Códigos QR via API em PHP

Chame a API do QRCode.fun a partir de PHP usando cURL ou Guzzle.

Integração de API PHP
<?php
$payload = json_encode([
    'data' => 'https://qrcode.fun',
    'width' => 300,
    'height' => 300,
    'type' => 'png',
    'margin' => 10,
    'dotsOptions' => ['color' => '#1A2B3C', 'type' => 'rounded'],
    'cornersSquareOptions' => ['color' => '#8564C3', 'type' => 'extra-rounded'],
    'backgroundOptions' => ['color' => '#FFFFFF'],
]);

$ch = curl_init('https://qrcode.fun/api/generate-qr-styled');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
// $result['data'] contains the base64 PNG data URL
echo substr($result['data'], 0, 50);

Pré-visualização de Código QR ao Vivo

Experimente gerar um código QR com PHP agora mesmo.

Pré-visualização QR

Biblioteca Nativa vs API

Compare o uso de uma biblioteca de códigos QR PHP com a API do QRCode.fun.

FuncionalidadeBiblioteca NativaQRCode.fun API
Complexidade de configuraçãoComposer install + GD/ImagickUma única requisição HTTP via cURL
PersonalizaçãoCores, logotipos, etiquetas (endroid)Estilização completa: cores, formas, logotipos
Suporte offlineSimRequer internet
ManutençãoComposer updateSempre atualizado
Formatos de saídaPNG, SVG, PDF (endroid)PNG, SVG

Casos de Uso de Códigos QR em PHP

Cenários comuns para códigos QR em aplicações PHP.

Laravel e Symfony

Gere códigos QR em controladores Laravel ou Symfony para perfis de utilizador, autenticação de dois fatores e links de pagamento.

Plugins WordPress

Construa plugins WordPress que geram códigos QR para publicações, produtos e tipos de conteúdo personalizados.

E-commerce

Crie códigos QR para páginas de produtos, gateways de pagamento, rastreamento de pedidos e recibos digitais.

Faturas PDF

Incorpore códigos QR em faturas PDF usando TCPDF ou FPDF para verificação de pagamento e ligação de documentos.

Mergulho Profundo no Ecossistema de Códigos QR em PHP

PHP alimenta a maioria da web, e as suas bibliotecas de códigos QR integram-se naturalmente com plataformas CMS populares e frameworks.

Integração Laravel e Service Providers

No Laravel, registe endroid/qr-code como singleton num ServiceProvider para injeção de dependências em toda a sua aplicação. Crie um QrCodeService com métodos para diferentes formatos de saída. Use a facade Response do Laravel para retornar imagens QR com headers apropriados e controle de cache. Para geração baseada em filas, despache a criação de QR para workers do Laravel Horizon e armazene os resultados no S3 ou armazenamento local.

Plugins WordPress e WooCommerce

As bibliotecas de códigos QR PHP alimentam milhares de plugins WordPress. Construa shortcodes personalizados como [qrcode data="https://..."] que renderizem códigos QR inline. No WooCommerce, gere códigos QR na confirmação do pedido para verificação de pagamento, códigos de recolha e rastreio de garantia. A API REST do WordPress pode expor a geração de QR como um endpoint personalizado, permitindo arquiteturas CMS headless onde o frontend solicita códigos QR via API.

Configuração de Servidor e Considerações GD/Imagick

A geração de códigos QR em PHP depende das extensões GD ou Imagick para saída raster. A maioria dos provedores de hosting inclui GD por padrão, mas Imagick oferece melhor qualidade para códigos QR com resolução de impressão. Para hosting partilhado com extensões limitadas, use chillerlan/php-qrcode que gera saída SVG sem extensões de imagem. Em ambientes Docker, instale php-gd via apt-get no seu Dockerfile. Para produção, configure OPcache para cachear o código compilado de geração de QR para execução repetida mais rápida.

Perguntas Frequentes

Perguntas comuns sobre a geração de códigos QR com PHP.

endroid/qr-code é a opção mais rica em funcionalidades com suporte para cores, logotipos, etiquetas e múltiplos formatos de saída. chillerlan/php-qrcode é uma alternativa leve para casos de uso simples.

Explore Bibliotecas de Códigos QR para Outras Linguagens

Encontre guias de geração de códigos QR e exemplos de código para a sua linguagem de programação preferida.

Comece a gerar códigos QR com PHP

Use o nosso gerador gratuito ou integre a API nas suas aplicações PHP.