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 require endroid/qr-codecomposer require chillerlan/php-qrcodeGerar 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');Gerar Códigos QR via API em PHP
Chame a API do QRCode.fun a partir de PHP usando cURL ou Guzzle.
<?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.
Biblioteca Nativa vs API
Compare o uso de uma biblioteca de códigos QR PHP com a API do QRCode.fun.
| Funcionalidade | Biblioteca Nativa | QRCode.fun API |
|---|---|---|
| Complexidade de configuração | Composer install + GD/Imagick | Uma única requisição HTTP via cURL |
| Personalização | Cores, logotipos, etiquetas (endroid) | Estilização completa: cores, formas, logotipos |
| Suporte offline | Sim | Requer internet |
| Manutenção | Composer update | Sempre atualizado |
| Formatos de saída | PNG, 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.
Comece a gerar códigos QR com PHP
Use o nosso gerador gratuito ou integre a API nas suas aplicações PHP.