Générer des Codes QR avec PHP
PHP dispose d'excellentes bibliothèques de codes QR comme endroid/qr-code pour les applications web modernes et chillerlan/php-qrcode pour la génération légère. Parfait pour Laravel, Symfony et WordPress.
Installation
Installez les bibliothèques de codes QR PHP avec Composer.
composer require endroid/qr-codecomposer require chillerlan/php-qrcodeGénérer des Codes QR avec les Bibliothèques PHP
Exemples de code utilisant les bibliothèques populaires de codes 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');Générer des Codes QR via API en PHP
Appelez l'API QRCode.fun depuis PHP avec 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);Aperçu du Code QR en Direct
Essayez de générer un code QR avec PHP maintenant.
Bibliothèque Native vs API
Comparez l'utilisation d'une bibliothèque de codes QR PHP avec l'API QRCode.fun.
| Fonctionnalité | Bibliothèque Native | QRCode.fun API |
|---|---|---|
| Complexité de configuration | Composer install + GD/Imagick | Une seule requête HTTP via cURL |
| Personnalisation | Couleurs, logos, étiquettes (endroid) | Stylisation complète : couleurs, formes, logos |
| Support hors ligne | Oui | Nécessite internet |
| Maintenance | Composer update | Toujours à jour |
| Formats de sortie | PNG, SVG, PDF (endroid) | PNG, SVG |
Cas d'Utilisation des Codes QR en PHP
Scénarios courants pour les codes QR dans les applications PHP.
Laravel et Symfony
Générez des codes QR dans les contrôleurs Laravel ou Symfony pour les profils utilisateurs, l'authentification à deux facteurs et les liens de paiement.
Plugins WordPress
Créez des plugins WordPress qui génèrent des codes QR pour les articles, produits et types de contenu personnalisés.
E-commerce
Créez des codes QR pour les pages produits, passerelles de paiement, suivi de commandes et reçus numériques.
Factures PDF
Intégrez des codes QR dans des factures PDF avec TCPDF ou FPDF pour la vérification de paiement et le lien de documents.
Plongée Approfondie dans l'Écosystème des Codes QR en PHP
PHP propulse la majorité du web, et ses bibliothèques de codes QR s'intègrent naturellement avec les plateformes CMS populaires et les frameworks.
Intégration Laravel et Service Providers
Dans Laravel, enregistrez endroid/qr-code comme singleton dans un ServiceProvider pour l'injection de dépendances dans toute votre application. Créez un QrCodeService avec des méthodes pour différents formats de sortie. Utilisez la façade Response de Laravel pour retourner des images QR avec les en-têtes appropriés et le contrôle de cache. Pour la génération basée sur les files d'attente, dispatchez la création QR vers les workers Laravel Horizon et stockez les résultats dans S3 ou le stockage local.
Plugins WordPress et WooCommerce
Les bibliothèques de codes QR PHP alimentent des milliers de plugins WordPress. Construisez des shortcodes personnalisés comme [qrcode data="https://..."] qui affichent des codes QR en ligne. Dans WooCommerce, générez des codes QR à la confirmation de commande pour la vérification de paiement, les codes de retrait et le suivi de garantie. L'API REST de WordPress peut exposer la génération QR comme un endpoint personnalisé, permettant des architectures CMS headless où le frontend demande des codes QR via API.
Configuration Serveur et Considérations GD/Imagick
La génération de codes QR en PHP dépend des extensions GD ou Imagick pour la sortie raster. La plupart des hébergeurs incluent GD par défaut, mais Imagick offre une meilleure qualité pour les codes QR en résolution d'impression. Pour l'hébergement mutualisé avec des extensions limitées, utilisez chillerlan/php-qrcode qui génère du SVG sans extension d'image. En environnement Docker, installez php-gd via apt-get dans votre Dockerfile. En production, configurez OPcache pour mettre en cache le code compilé de génération QR pour une exécution répétée plus rapide.
Questions Fréquemment Posées
Questions courantes sur la génération de codes QR avec PHP.
Commencez à générer des codes QR avec PHP
Utilisez notre générateur gratuit ou intégrez l'API dans vos applications PHP.