Geração de QR Codes em PHP com a biblioteca phpqrcode
\n\nOs QR Codes se tornaram parte essencial da web moderna. Eles são usados para acesso rápido a links, transmissão de dados de contato, conexão a Wi-Fi e muito mais. Neste artigo, vamos analisar a popular biblioteca PHP phpqrcode, que permite gerar QR Codes de forma fácil e rápida no lado do servidor. Esta é uma solução ideal para um site educacional, onde é necessário demonstrar visualmente o trabalho com QR Codes.
\n\nO que é phpqrcode?
\nphpqrcode é uma biblioteca leve, porém poderosa, para geração de QR Codes em PHP puro. Ela não requer a instalação de extensões adicionais (como GD ou Imagick), embora as suporte quando disponíveis. A biblioteca pode criar QR Codes de várias versões (de 1 a 40), com diferentes níveis de correção de erros (L, M, Q, H) e salvar o resultado em PNG, GIF ou JPEG. A principal vantagem é a simplicidade de uso: basta incluir um arquivo e chamar uma função.
\n\nInstalação e inclusão
\nVocê pode baixar a biblioteca do repositório oficial no GitHub ou SourceForge. Para instalar, basta copiar o arquivo phpqrcode.php para o seu projeto. Uma forma alternativa é via Composer:
composer require phpqrcode/phpqrcode\n\nApós a instalação, inclua a biblioteca no seu script PHP:
\n\n<?php\n// Se instalado manualmente\ninclude 'phpqrcode.php';\n\n// Ou via Composer\nrequire 'vendor/autoload.php';\n?>\n\nExemplo básico: geração de QR Code
\nO exemplo mais simples é criar um QR Code contendo uma string de texto ou URL. Para isso, usa-se o método estático QRcode::png():
<?php\n$text = "https://pythonlib.ru";\n$filename = "qrcode.png"; // Se não especificado, exibe a imagem diretamente\n$errorCorrectionLevel = 'L'; // Nível de correção: L, M, Q, H\n$matrixPointSize = 10; // Tamanho do ponto (1-10)\n\n// Geração e salvamento em arquivo\nQRcode::png($text, $filename, $errorCorrectionLevel, $matrixPointSize, 2);\n\necho "QR Code salvo como $filename";\n?>\n\nSe o segundo parâmetro for omitido, a biblioteca exibirá a imagem PNG diretamente no navegador:
\n\n<?php\nheader('Content-Type: image/png');\nQRcode::png('https://pythonlib.ru', false, 'H', 8, 2);\n?>\n\nPersonalização da aparência: cor e tamanho
\nO QR Code padrão é preto e branco. Para torná-lo colorido ou alterar o fundo, use os recursos avançados. A biblioteca permite definir cores através de um array:
\n\n<?php\n$text = "Olá, PythonLib!";\n$filename = "color_qr.png";\n\n// Parâmetros: [R, G, B] para módulos e fundo\n$config = [\n 'module' => [52, 73, 94], // Azul escuro\n 'background' => [236, 240, 241] // Cinza claro\n];\n\nQRcode::png($text, $filename, 'M', 10, 2, false, $config);\n?>\n\nPara ajuste preciso do tamanho, use o parâmetro $matrixPointSize (de 1 a 10). Quanto maior o valor, maior o QR Code. Você também pode definir $quietZone (moldura branca ao redor do código) — o último parâmetro no método png().
Geração de QR Code para Wi-Fi
\nUma das tarefas populares é criar um QR Code para conexão Wi-Fi. O formato dos dados deve seguir a especificação:
\n\n<?php\n$ssid = "MyHomeNetwork";\n$password = "secret123";\n$encryption = "WPA"; // WPA, WEP ou vazio para rede aberta\n\n$wifiString = "WIFI:T:$encryption;S:$ssid;P:$password;;";\n\nQRcode::png($wifiString, "wifi_qr.png", 'Q', 10, 2);\necho "QR Code para Wi-Fi pronto!";\n?>\n\nCriação de QR Code para vCard (contatos)
\nO QR Code pode conter um cartão de visita vCard. Isso é útil para adicionar rapidamente um contato ao telefone:
\n\n<?php\n$vcard = "BEGIN:VCARD\\n";\n$vcard .= "VERSION:3.0\\n";\n$vcard .= "FN:Ivan Petrov\\n";\n$vcard .= "TEL:+7-123-456-78-90\\n";\n$vcard .= "EMAIL:ivan@exampl Também na biblioteca
Frameworks CLI para PHP: criando aplicações de console com Symfony Console e Laravel Zero
Redis (ioredis) para JavaScript (Node.js): guia completo com exemplos
OkHttp para Kotlin: guia completo com exemplos