Laravel Queue Nedir? Laravel Queue Nasıl Kullanılır?

Laravel’de Queue, asenkron olarak çalıştırılacak işlerin ve işlemlerin sıralı bir şekilde gerçekleştirilmesini sağlayan bir sistemdir. Genellikle uzun süren işlemler veya yoğun iş yükü gerektiren işlemler bu kuyruğa alınarak arka planda işlenir. Bu sayede web uygulamasının performansı artar ve kullanıcı deneyimi olumsuz etkilenmez.

Queue kullanmanın birçok avantajı vardır:

  1. Performans: Uzun süren veya yoğun iş yükü gerektiren işlemler asenkron olarak işlenir, bu da web sunucusunun daha hızlı yanıt vermesini sağlar.
  2. Güvenilirlik: Kuyruk sistemi, işlemleri güvenilir bir şekilde işler ve gerektiğinde yeniden deneyerek başarısız işlemleri yönetir.
  3. Ölçeklenebilirlik: Yoğun dönemlerde artan iş yüküne kolayca uyum sağlar.

Laravel’de Queue kullanmak için aşağıdaki adımları izleyebilirsiniz:

  1. Queue Sürücüsünü Ayarlama: Laravel, farklı Queue sürücüleriyle birlikte gelir. Bunlar arasında Redis, Beanstalkd, Amazon SQS gibi sürücüler bulunur. config/queue.php dosyasından Queue sürücünüzü ve ayarlarınızı yapılandırabilirsiniz.
  2. İşlerinizi Tanımlama: Queue’a eklemek istediğiniz işleri tanımlamanız gerekmektedir. Bunun için Laravel’de php artisan make:job JobName komutunu kullanarak yeni bir iş sınıfı oluşturabilirsiniz. İş sınıfı, handle() metodu içinde işinizi gerçekleştirecek kodu barındırır.
  3. İşleri Kuyruğa Ekleme: İşleri kuyruğa eklemek için dispatch() veya dispatchNow() yöntemlerini kullanabilirsiniz. Bu yöntemler, iş sınıfınızı ve gerekli parametreleri alarak kuyruğa işi ekler.
  4. Kuyruğu Çalıştırma: Kuyruktaki işleri işlemek için php artisan queue:work komutunu kullanabilirsiniz. Bu komut, kuyruktaki işleri işleyerek sıradaki işi alır ve işler.
  5. Kuyruğu Yönetme: Laravel’de Queue yönetimi için Supervisor, Horizon gibi araçlar kullanabilirsiniz. Bu araçlar, kuyruğu otomatik olarak yönetir ve hataları izler.

Queue kullanarak, web uygulamanızın performansını artırabilir ve iş yükünü daha iyi yönetebilirsiniz.

Devamını oku

Laravel ile Özel Paket Oluşturmak ve Yayınlamak

Laravel projelerinizde kullanılmak üzere özel bir paket oluşturmak ve bu paketi Composer üzerinden diğer projelere entegre etmek ister misiniz? Bu adım adım rehber, Laravel geliştiricilerine kendi özel paketlerini oluşturma ve yayınlama konusunda rehberlik edecektir. Bu süreç, kodunuzu daha modüler ve yeniden kullanılabilir hale getirmenin yanı sıra, açık kaynak topluluğuna da katkıda bulunmanın harika bir yoludur.

Adım 1: Laravel Paketi Oluşturun

Laravel projesi içinde, terminal veya komut istemcisine şu komutu yazarak bir Laravel paketi oluşturun:

php artisan package:dev your-vendor-name/your-package-name

Burada your-vendor-name yerine kendi sağlayıcı adınızı, your-package-name yerine de paket adınızı belirtmelisiniz. Örneğin yer sağlayıcı adına brunos-digital , paket adına da amazon-pay yazabilirsiniz.

Oluşturulan paket, packages dizini altında bulunacaktır. Paketinizi bu dizinde geliştirmeye devam edebilirsiniz.

Adım 2: Composer Paketini Başlatın

Paket dizininin içine gidin:

cd packages/brunos-digital/amazon-pay

Composer paketini başlatın:

composer init

Komutu çalıştırdığınızda, bazı sorularla karşılaşacaksınız. Bu sorulara uygun cevapları vererek composer.json dosyanızı oluşturun.

Adım 3: Laravel Paketini Geliştirin

Paketinizi geliştirmeye devam edin. Controller, Service Provider, Middleware veya diğer Laravel bileşenleri ekleyebilirsiniz.

Adım 4: Composer.json Dosyasını Güncelleyin

Paketinizi geliştirdikten sonra, composer.json dosyanızı güncelleyin ve gerekli bilgileri ekleyin.

Adım 5: GitHub veya Bitbucket Üzerinde Depolayın

Kodlarınızı bir GitHub veya Bitbucket deposunda saklayın. Composer, paketinizi bu depolardan alacak.

Adım 6: Packagist’e Yükleyin

Packagist sitesine gidin ve hesap oluşturun (eğer daha önce bir hesap oluşturmadıysanız).

Ardından, paketinizi Packagist üzerinde yayınlamak için, paketin GitHub veya Bitbucket reposunu ekleyin.

Adım 7: Composer ile Paketinizi Kurun

Başka bir Laravel projesine gidin ve terminal veya komut istemcisine şu komutu yazarak paketinizi kurun:

composer require brunos-digital/amazon-pay

Bu adımları takip ederek, Laravel paketinizi oluşturabilir ve Composer ile diğer Laravel projelerine entegre edebilirsiniz.

Devamını oku

Laravel Çoklu Dil Desteği Nasıl Kullanılmalıdır?

Laravel, uygulamalarınızda çoklu dil desteği sağlamak için kolay ve güçlü bir yapı sunar. Laravel’in lang klasörü içinde, farklı diller için çeviri dosyalarını barındırabilirsiniz. Çeviri dosyaları, anahtar-değer çiftlerine sahip dizi döndüren PHP dosyalarıdır. Laravel ‘de dil kullanımını ayarlamanın en kolay yollarını sırasıyla açıklıyoruz.

Dil Dosyalarını Klasör Yapısına Göre Oluşturma

resources/lang klasörü altında dil kısaltmalarını (ör. ‘en’, ‘tr’ gibi) içeren klasörler oluşturun. Her klasör içinde, özellikle messages.php gibi çeviri dosyaları oluşturarak anahtar-değer çiftlerini tanımlayın.

// resources/lang/en/auth.php
return [
    'login' => 'Giriş Yap',
];

// resources/lang/tr/messages.php
return [
    'login' => 'Login',
];

Laravel, uygulamanın aktif dilini belirlemek için config/app.php dosyasındaki locale ayarını kullanır. Bu değeri değiştirerek varsayılan dilinizi belirleyebilirsiniz. Kullanıcılar arasında dil değişikliği yapmak istiyorsanız, dil seçimini bir session, cookie veya kullanıcı modelinde saklayabilir ve middleware kullanarak bu değeri ayarlayabilirsiniz.

Dil Metinlerini Görüntüleme

PHP kodunda, __() yardımcı fonksiyonunu kullanarak çeviri metinlerini alabilirsiniz. Bu fonksiyon, belirtilen anahtarı kullanarak aktif dildeki değeri döndürür.

{{ __('auth.login') }}

Parametreli Çeviri Metinleri

Dil dosyalarındaki anahtar-değer çiftlerine parametre ekleyerek dinamik metinler oluşturabilirsiniz.

// resources/lang/en/profile.php
return [
    'welcome' => 'Welcome, :name!',
];

// resources/lang/tr/profile.php
return [
    'welcome' => 'Hoş geldin, :name!',
];

Ardından parametreyi __() fonksiyonuna ileterek çeviriyi kullanabilirsiniz:

{{ __('profile.welcome', ['name' => $user->name]) }}

Laravel ‘de lang kullanarak çoklu dil desteğini nasıl sağlayacağınıza yönelik bir kılavuzdur. Daha fazla özelleştirme ve detay için Brunos Digital iletişim sayfamızdan bize ulaşabilir veya Laravel ile proje başlatmak için yeni proje başlat sayfasından projenizi başlatabilirsiniz.

15 yıldan fazla Laravel geliştirme tecrübemizle sizlere hizmet vermekten mutluluk duyarız.

Devamını oku