Günümüzde QR kodu çok farklı yerlerde kullanıyoruz. Atm den para çekerken, Whatsapp da oturum açıyorken yada bir kafedeki indirimden yararlanmak için gibi bir çok farklı yerde kullanıyoruz. Bu kadar çok kullandığımız QR kodu nasıl üretebileceğimizi inceleyelim.
Laravel ‘de nasıl QR kodu üretebileceğimizi anlatmaya çalışacağım. QR kodu üretir iken laravel in Simple QrCode paketini kullancağım ve QR kodun metin, renk, resim ve vcard oluşturma örneklerinin nasıl yapıldığını göreceğiz. Herhangi bir benzersiz metniniz, e-postanız ve telefon numaranız varsa, QR kodunu çok rahatça oluşturabilir ve kişi olarak oluşturulan vcard ı rahatlıkla rehberinize kaydedebilirsiniz.
Vcard özellikle son zamanlarda kartvizitlerde kullanılmaya başlandı. Kişiler yaptırmış oldukları kartviztlerinde QR kodunu ekleterek kişilerin rahatlıkla bilgilerini rehber e kaydetmesini sağlıyor.
Adımlarımız
- Proje Kurulumu
- Paket Kurulumu
- Route oluşturulması
1.Proje Kurulumu
Terminalimizi açıyoruz ve projeyi kurmak istediğimiz dizine gidiyoruz. Eğer global olarak laravel paketini yüklediyseniz aşağıdaki komutu terminal yapıştırıp çalıştırıyoruz. Eğer yüklemediyseniz diğer komutu yapıştırıp çalıştırabilirsiniz.
1 2 3 | laravel new QrCodeProject composer create-project --prefer-dist laravel/laravel QrCodeProject |
2.Paket Kurulumu
Aşağıdaki kodu kullanarak “simple-qrcode” paketini composer yardımıyla projemize dahil ediyoruz.
1 | composer require simplesoftwareio/simple-qrcode |
Paketimizi kurduktan sona config/app.php dosyamızın içinde providers ve aliases içine paketimizin servis provider ını ve facade ismini ekliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 'providers' => [ .... SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class, ], 'aliases' => [ .... 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class, ] |
3.Route oluşturma
Bu işlemleri başarılı bir şekilde yaptıktan sonra sıra geldi route oluşturmaya. Aşağıdaki kodu “routes/web.php” dosyasına ekleyerek metin,renk ve vcard gibi kullanımlarını görebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?php use Illuminate\Http\Request; use SimpleSoftwareIO\QrCode\Facades\QrCode; Route::('/qr-code-vcard',function(Request $request){ $name = $request->query('name') ?? 'Semih Duman'; $phone = $request->query('phone') ?? '+90 (541) 307-4500'; $address = $request->query('address') ?? 'Test adresi'; $size = $request->query('size') ?? 100; $vCard = "BEGIN:VCARD\nVERSION:4.0\nFN:$name\nTEL:$phone\nADR;TYPE=WORK:$address\nEMAIL:$email\nEND:VCARD"; return QrCode::encoding('UTF-8') ->size($size) ->generate($vCard); }); Route::get('/qrcode-text',function(Request $request){ return QrCode::size(250)->generate('Semih Duman'); }); Route::get('/qr-code-color', function () { return QrCode::size(250)->backgroundColor(255,55,0)->generate('Semih Duman'); }); Route::get('/qr-code-image', function () { return QrCode::size(250)->format('png')->generate('Semih Duman', public_path('images/qrcode.png')); }); Route::get('/qr-code-email',function(){ }); Route::get('/qr-code-geo',function(Request $request){ $latitude = $request->query('latitude') ?? 36.002; $longitude = $request->query('longitude') ?? 42.002; return QrCode::geo($latitude, $longitude); }); Route::get('/qr-code-sms',function(Request $request){ return QrCode::SMS('342-456-1235', ‘Text Mesaj içeriği’); }); ?> |
Daha fazla özellik için “simple-qrcode” paketinin sitesine bakabilirsiniz.
İyi çalışmalar.