Endroid QrCode (QR Kod Üretici)
artiframe add qrcode eklentisi, PHP'nin en güçlü QR kod oluşturucusu olan endroid/qr-code paketini kullanır.
Standart paketin Writer ve Builder gibi karmaşık nesne örneklemeleriyle (instantiation) uğraşmanıza gerek kalmaz. src/Service/QrCode.php üzerinden tamamen akıcı (fluent) bir API ile saniyeler içinde logolu ve renkli karekodlar çizebilirsiniz.
Eklentiyi kurmak için terminalinize şu komutu girin:
$ artiframe add qrcode
.env) ihtiyaç duymaz. Tamamen sunucu içerisinde render işlemi yapar.
QR Kodu oluştururken QrCode::generate('İçerik') ile başlar, araya boyut/renk gibi ayarları zincirler (chain) ve son olarak ne tür bir çıktı almak istediğinizi (save, base64, output) belirtirsiniz.
<?php
use Src\Service\QrCode;
// Siyah arkaplanlı, sarı renkli, 500px boyutunda bir SVG formatı üret
QrCode::generate('https://artiframe.dev')
->size(500)
->margin(20)
->color('#FFD700', '#000000') // Önce Ön Plan (Kareler), Sonra Arka Plan
->format('svg') // png (varsayılan) veya svg
->save('/var/www/public/qrcodes/website.svg');
Özellikle kurumsal kimlik için QR kodun tam merkezine marka logonuzu yerleştirebilirsiniz.
<?php
QrCode::generate('WIFI:S:MyNetwork;T:WPA;P:MyPassword;;')
->size(400)
// Logo Yolu, Genişliği (px) ve Logonun arkasını şeffaf yapıp yapmama (true/false)
->logo(__DIR__ . '/../assets/img/logo.png', 80, true)
->save('wifi-qr.png');
Oluşturulan grafiği diske kaydetmek zorunda değilsiniz. Tarayıcıya direkt basabilir veya HTML içinde göstermek için Base64 String formatına çevirebilirsiniz.
<!-- Diske kaydetmeden on-the-fly (anında) render edilen QR kod -->
<img src="<?= QrCode::generate('Bilet-No: 123456')->color('#10D99A')->base64() ?>" alt="Biletiniz">
<?php
// Route: /api/generate-qr?text=Merhaba
$text = $_GET['text'] ?? 'Varsayılan Metin';
// İlgili Content-Type (image/png) başlıklarını (headers) otomatik atar ve kodu render edip çalışmayı durdurur.
QrCode::generate($text)
->size(250)
->output();