Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Veri Üzerine Yazmayı Durdurun: Laravel’de Olay Kaynağı Kullanımı
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Veri Üzerine Yazmayı Durdurun: Laravel’de Olay Kaynağı Kullanımı

Yazılım

Veri Üzerine Yazmayı Durdurun: Laravel’de Olay Kaynağı Kullanımı

teknomers
Son güncelleme: 22 Temmuz 2026 12:42
teknomers
Paylaş
Paylaş

Geleneksel Durumun Problemi

Çoğu Laravel uygulaması standart CRUD (Create, Read, Update, Delete) mimarisine dayanır. Bir kullanıcı hesap bakiyesini değiştirdiğinde, veritabanındaki eski bakiye üzerine yazılır. Ancak, bakiye neden değiştiğini bilmeniz gerektiğinde ne olacak? Üç ay önce ortaya çıkan bir hatayı bulmak için sistemi denetlemeniz gerektiğinde?

Geleneksel veritabanları yalnızca mevcut durumu saklar. Veri unutkanlığına mağruz kalırlar. Smart Tech Devs’te mali defterler, denetim yoğun platformlar veya karmaşık kurumsal sistemler inşa ettiğimizde, durum tabanlı depolamayı terk edip Event Sourcing uygularız.

Event Sourcing Nedir?

Bir modelin mevcut durumunu saklamak yerine, Event Sourcing o modele ait geçmişte meydana gelen her değişikliği değiştirilemez bir olay dizisi olarak saklar. Mevcut durum, o olayların hepsini zamanın başlangıcından itibaren oynatarak hesaplanır.

Adım 1: Olayları Saklama

Bir accounts tablosu ve balance sütunu yerine, bir events tablomuz vardır. Para yatırıldığında bakiye güncellenmez; bunun yerine bir MoneyDeposited olayı kaydedilir.


// ❌ Geleneksel CRUD Deseni
$account = Account::find(1);
$account->balance += 500;
$account->save();

// ✅ Olay Tabanlı Desen
$accountAggregate = AccountAggregateRoot::retrieve($uuid);
$accountAggregate->depositMoney(500, 'Maaş yatırımı')
                 ->persist();

Adım 2: Projeksiyonlar (Okuma Modeli)

Bakiye, binlerce olayı okuyarak hesaplanıyorsa, bu bir API yanıtı için çok yavaş olur. İşte burada Projeksiyonlar devreye girer. Bir projektör, olaylar gerçekleştiğinde dinler ve hızlı, okunmaya uygun bir veritabanı tablosunu günceller.


namespace App\Projectors;

use App\Events\MoneyDeposited;
use App\Models\AccountProjection;
use Spatie\EventSourcing\EventHandlers\Projectors\Projector;

class AccountBalanceProjector extends Projector
{
    public function onMoneyDeposited(MoneyDeposited $event)
    {
        // Bu tablo tamamen hızlı okumak içindir.
        // Gerçek kaynak olaylar tablosudur.
        $account = AccountProjection::firstOrCreate(['uuid' => $event->aggregateRootUuid()]);
        $account->balance += $event->amount;
        $account->save();
    }
}

Mühendislik ROI

Projeksiyon tablonuz bozulursa, onu silip olaylarınızı yeniden oynatarak mükemmel bir şekilde yeniden inşa edebilirsiniz. %100 doğru bir denetim kaydına, uygulama durumunuzu geçmişte herhangi bir ana geri getirme olanağına ve ayrılmış okuma/yazma mimarilerine (CQRS) sahip olursunuz. Bu karmaşıklığı getirir, ancak doğru alanlar için büyük bir güçtür.

Kaynak: Orijinal Makale

Contents
  • Geleneksel Durumun Problemi
  • Event Sourcing Nedir?
    • Adım 1: Olayları Saklama
    • Adım 2: Projeksiyonlar (Okuma Modeli)
  • Mühendislik ROI
Laravel Cloud’a Gelenler: Aylık 5$ Plan, Harcama Limitleri ve Anında Sıfıra Ölçeklenme
Laravel’de Görüntü Yüklemelerini Temizleme: Resim Dosyaları Üzerinden PHP Yük Enjeksiyonunu Engelleme
PHP Laravel için BPJS Paket Köprülemesi (VClaim, Aplicare, PCare, i-Care)
Hızlandırılmış Analitik: Laravel’de Malzeme Görünümleri
Laravel Live Japan 2026’da Geçirdiğim Günler
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Kritik Açık: Microsoft Azure DevOps’ta Gizli PR Yorumları Tehdit Ediyor
Sonraki Makale Acil: OpenAI’nin AI Modelleri Sandbox’tan Kaçtı, Hugging Face’i Hedef Aldı

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Trump Yönetimi, ICE Ajanlarının Yüzlerini Gösterme Çabasını Engelliyor
Genel
Blizzard Araştırma Başlattı: Mythic+’ta GM Hakkında İddialar Artıyor
Oyun
PlayStation 3 emülatörü, Linux’ta eski ATI grafik kartlarını destekliyor
Donanım
Enerji Tasarrufu İçin AI’dan Bizi Kurtaracaklar mı?
Liste
Acil: Microsoft, Ekim’de Exchange 2016/2019 Güncellemelerini Durduruyor
Siber Güvenlik
Glow gizlilikten çıkıyor ve 1.2 milyar dolarlık değerlemeyle yapay zeka döneminde uç nokta güvenliğine meydan okuyor
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?