dyrynda/laravel-cascade-soft-deletes, Laravel'in Eloquent ORM'sinde soft delete (yumuşak silme) özelliğini kullanan modeller için tasarlanmış bir PHP paketidir. Bu paket, bir model silindiğinde (soft delete uygulandığında) onunla ilişkili diğer modellerin de otomatik olarak soft delete edilmesini sağlar. Böylece veri bütünlüğü korunur ve ilişkisel verilerin tutarlılığı sağlanır. Paket, Packagist üzerinde 3.7 milyonun üzerinde indirme ve 1.179 favoriye sahiptir, bu da yaygın bir kullanım ve topluluk güveni olduğunu gösterir.
Hangi ihtiyaçlarda değerlendirilebilir?
- Laravel ile geliştirilen ve soft delete kullanan web uygulamaları
- İlişkisel verilerin silinmesi gereken durumlarda veri bütünlüğünü korumak isteyen ekipler
- Veri kurtarma ve denetim izleri gerektiren kurumsal projeler
Yaygın kullanım alanları
E-Ticaret Uygulamaları
Bir ürün silindiğinde, o ürüne ait stok, fiyat ve görsel gibi ilişkili kayıtların da otomatik olarak soft delete edilmesi, veri tutarlılığını sağlar.
İçerik Yönetim Sistemleri
Bir blog yazısı silindiğinde, yazıya ait yorumlar ve etiketler gibi ilişkili verilerin de yumuşak silinmesi, içerik arşivleme süreçlerini kolaylaştırır.
Kurumsal Uygulamalar
Bir müşteri kaydı silindiğinde, siparişler ve faturalar gibi ilişkili finansal verilerin de soft delete edilmesi, denetim ve geri alma süreçlerinde avantaj sağlar.
İncelenmesi gereken noktalar
- Paket yalnızca soft delete kullanan modeller için çalışır; normal (kalıcı) silme işlemlerinde ilişkili veriler otomatik olarak silinmez.
- İlişkilerin doğru tanımlanmış olması gerekir; aksi takdirde basamaklı silme beklendiği gibi çalışmayabilir.
- Büyük veri setlerinde performans etkisi olabilir; bu nedenle ilişkili kayıt sayısı fazla olan modellerde dikkatli değerlendirme yapılmalıdır.
WordPress.org
Kurulum ve geliştirme notları
Paketin kurulumu Composer ile yapılır. Resmi dokümantasyonda kurulum adımları açıkça belirtilmiştir.
- 1Composer kullanarak paketi projeye ekleyin: composer require dyrynda/laravel-cascade-soft-deletes
- 2Kullanmak istediğiniz modelde trait'i import edin ve kullanın.
- 3İlişkili modellerde cascade configürasyonunu tanımlayın.
Geliştirme sürecinde, paketin sağladığı trait ve yapılandırma seçenekleri kullanılarak basamaklı silme davranışı özelleştirilebilir.
- Trait, modelin soft delete özelliğini genişleterek ilişkili modellerin de silinmesini sağlar.
- İlişkilerin türüne göre (hasMany, belongsToMany vb.) farklı yapılandırmalar yapılabilir.
- Paket, Laravel'in event sistemini kullanarak silme işlemini otomatikleştirir.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, Laravel projelerinizde bu paketin kullanımını değerlendirebilir, ihtiyaçlarınıza göre özel çözümler geliştirebiliriz. Özellikle kurumsal web siteleri ve web uygulamalarında veri yönetimi süreçlerini birlikte planlayabiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
Bu paket normal (kalıcı) silme işlemlerinde de çalışır mı?
Hayır, paket yalnızca soft delete uygulanan modeller için tasarlanmıştır. Normal silme işlemlerinde ilişkili veriler otomatik olarak silinmez.
Paket hangi Laravel sürümleriyle uyumludur?
Paketin uyumlu olduğu Laravel sürümleri hakkında kesin bir bilgi verilmemiştir. Ancak genel olarak güncel Laravel sürümleriyle uyumlu olduğu varsayılabilir; yine de projenizde test etmeniz önerilir.
İlişkili verilerin silinmesini nasıl özelleştirebilirim?
Paket, model üzerinde tanımlanan ilişkileri kullanarak otomatik olarak çalışır. İlişkilerin türüne göre yapılandırma yapabilirsiniz. Detaylı bilgi için paketin dokümantasyonunu inceleyebilirsiniz.