owen-it/laravel-auditing, Laravel uygulamalarında Eloquent modellerinde yapılan değişiklikleri (ekleme, güncelleme, silme) otomatik olarak izleyen ve bu değişiklikleri denetim kayıtları olarak saklayan bir PHP paketidir. Paket, model olaylarını dinleyerek değişiklikleri yakalar ve böylece uygulamanın veri bütünlüğünü izlemenize olanak tanır. Özellikle veri değişikliklerinin takip edilmesi gereken kurumsal projelerde kullanışlıdır.
Hangi ihtiyaçlarda değerlendirilebilir?
- Veri değişikliklerini izleme ve denetim kaydı tutma ihtiyacı olan Laravel tabanlı web uygulamaları
- Yasal veya kurumsal uyumluluk gereksinimleri nedeniyle kullanıcı eylemlerini kayıt altına alması gereken sistemler
- Çok kullanıcılı ve veri güvenliği öncelikli projeler
Yaygın kullanım alanları
Kullanıcı Eylemlerinin İzlenmesi
Bir yönetim panelinde kullanıcıların hangi kayıtları değiştirdiğini, ne zaman ve hangi değerlerle değiştirdiğini takip etmek için kullanılabilir.
Veri Bütünlüğü ve Denetim İzleri
Finansal veya sağlık gibi hassas verilerin işlendiği sistemlerde, veri üzerinde yapılan her değişikliğin kaydını tutarak denetim izi oluşturulabilir.
Hata Ayıklama ve Geriye Dönük Analiz
Bir veri kaydının geçmişteki durumunu incelemek veya bir hatanın kaynağını bulmak için değişiklik geçmişinden yararlanılabilir.
İncelenmesi gereken noktalar
- Paket, yalnızca Eloquent modelleri üzerinde çalışır; doğrudan veritabanı sorguları veya query builder ile yapılan değişiklikler izlenmez.
- Denetim kayıtlarının saklanması ek veritabanı alanı ve performans maliyeti getirebilir; yüksek trafikli sistemlerde bu durum göz önünde bulundurulmalıdır.
- Paketin yapılandırması ve özelleştirilmesi, projenin ihtiyaçlarına göre ayarlanmalıdır; örneğin hangi alanların izleneceği veya hangi olayların kaydedileceği belirlenmelidir.
WordPress.org
Kurulum ve geliştirme notları
Paket, Composer ile kurulur ve Laravel uygulamasına servis sağlayıcı olarak kaydedilir. Kurulum sonrası yayınlanan migration dosyaları ile denetim kayıtları için gerekli tablolar oluşturulur.
- 1Composer kullanarak paketi projeye ekleyin: composer require owen-it/laravel-auditing
- 2Servis sağlayıcıyı config/app.php dosyasına ekleyin (Laravel 5.5 ve sonrası için otomatik keşif çalışır).
- 3Migration dosyalarını yayınlamak için php artisan vendor:publish --provider="OwenIt\Auditing\AuditingServiceProvider" komutunu çalıştırın.
- 4Migration'ları çalıştırın: php artisan migrate
- 5İzlemek istediğiniz Eloquent modellerine Auditable trait'ini ekleyin.
Paket, modellere Auditable trait eklenerek kullanılır. Trait, model olaylarını dinler ve değişiklikleri denetim kaydı olarak saklar. Özelleştirme seçenekleri mevcuttur.
- Modelinizde use OwenIt\Auditing\Auditable; trait'ini kullanarak denetimi etkinleştirin.
- Denetim kayıtlarının hangi alanları içereceğini $auditEvents, $auditInclude, $auditExclude gibi özelliklerle yapılandırabilirsiniz.
- Denetim kayıtlarını görüntülemek için ilişkiler ve sorgular kullanılabilir; paket, Auditable modeli ile ilişki kurma imkanı sunar.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
Her Laravel projesinin denetim ihtiyaçları farklıdır. ZeplinGo olarak, projenizin gereksinimlerine uygun denetim yapılandırması, özel alan takibi ve raporlama çözümleri geliştirebiliriz. Mevcut paketin sınırlarını aşan durumlarda, size özel bir denetim modülü tasarlayabiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
owen-it/laravel-auditing hangi Laravel sürümleriyle uyumludur?
Paketin uyumlu olduğu Laravel sürümleri, paketin resmi dokümantasyonunda belirtilmiştir. Genellikle Laravel 5.5 ve sonrası sürümlerle uyumludur, ancak güncel sürümler için Packagist sayfasındaki gereksinimlere bakılmalıdır.
Bu paket tüm veritabanı işlemlerini izler mi?
Hayır, paket yalnızca Eloquent modelleri üzerinden yapılan işlemleri izler. DB facade veya query builder ile yapılan doğrudan sorgular denetim kaydı oluşturmaz.
Denetim kayıtlarını özelleştirebilir miyim?
Evet, paket hangi olayların izleneceğini, hangi alanların kaydedileceğini ve kayıtların nasıl saklanacağını yapılandırma imkanı sunar. Model üzerinde tanımlanan özelliklerle bu ayarlar yapılabilir.