'archtechx/tenancy' paketi, Laravel uygulamalarında çoklu kiracılığı uygulamaya yönelik esnek ve güçlü bir araçtır. Spatie/laravel-multitenancy gibi diğer paketlerle karşılaştırıldığında bazı temel özellikler ve farklılıklar şunlardır:
"archtechx/tenancy"nin Temel Özellikleri:
1. Otomatik Çoklu Kiralama: Paket, önemli kod değişiklikleri gerektirmeden otomatik olarak çoklu kiralamayı ayarlar. Her kiracı[3] için veritabanı bağlantılarını, önbellekleri, dosya sistemlerini, kuyrukları ve Redis depolarını yönetir.
2. Olay Tabanlı Mimari: Paket, kiracılıkla ilgili olayların işlenmesinde özelleştirmeye ve esnekliğe olanak tanıyan olay odaklı bir mimari kullanır[3].
3. Tek veya Çoklu Veritabanı Kiracılığı: Hem tek veritabanı hem de çoklu veritabanı kiracılığı modellerini destekler. Çoklu veritabanı kiracılığı için, modellerin kapsamının mevcut kiracıya belirlenmesine yönelik model özellikleri sağlar[3].
4. Diğer Paketlerle Entegrasyon: Paket, kiracı kaynaklarını yönetmek için kullanılabilen Laravel Nova da dahil olmak üzere diğer Laravel paketleriyle sorunsuz bir şekilde bütünleşir[3].
5. Test Edilebilirlik: Paket, yüksek düzeyde test edilebilir olacak şekilde tasarlanmıştır; bu, çoklu kiracılık uygulamanızın kapsamlı bir şekilde test edildiğinden emin olmanızı kolaylaştırır[3].
6. Özelleştirme: Paket, olaya dayalı mimarisi ve model özellikleri aracılığıyla kapsamlı özelleştirme seçenekleri sunarak geliştiricilerin paketi kendi özel ihtiyaçlarına göre uyarlamasına olanak tanır[3].
Kurulum ve Hızlı Başlangıç:
1. Kurulum: Paket Composer kullanılarak kurulabilir: `besteci stancl/tenancy gerektirir'.
2. Hızlı Başlangıç: Paket, çoklu veritabanı kiracılığını ve etki alanı kimliğini ayarlama konusunda size yol gösteren bir hızlı başlangıç eğitimini içerir. Bu eğitim paketin dokümantasyon sayfasında[4] mevcuttur.
'Spatie/laravel-multitenancy' ile karşılaştırma:
- Otomatik Kurulum: Her iki paket de otomatik kurulum seçenekleri sunar, ancak "archtechx/tenancy" otomatik kurulumunda daha kapsamlıdır ve çoklu kiracılığın daha fazla yönünü kutudan çıkar çıkmaz ele alır.
- Olay Tabanlı Mimari: "archtechx/tenancy", "spatie/laravel-multitenancy" ile karşılaştırıldığında daha fazla esneklik ve özelleştirme seçeneği sağlayan olay odaklı bir mimari kullanır.
- Diğer Paketlerle Entegrasyon: Her iki paket de diğer Laravel paketleriyle iyi bir şekilde entegre olur, ancak "archtechx/tenancy", Laravel Nova gibi paketlere olan desteğinde daha açıktır.
- Test Edilebilirlik: Her iki paket de test edilebilir olacak şekilde tasarlanmıştır, ancak "archtechx/tenancy" daha çok test edilebilirliğe odaklanır ve kapsamlı testler sağlamak için daha fazla araç sağlar.
Özetle, `archtechx/tenancy' Laravel'de çoklu kiracılık için kapsamlı özelleştirme seçenekleri ve diğer paketlerle daha iyi entegrasyonla daha kapsamlı ve esnek bir çözüm sunuyor. Ancak iki paket arasındaki seçim sonuçta projenizin özel gereksinimlerine ve ihtiyaçlarına bağlıdır.
Alıntılar:[1] https://stackoverflow.com/questions/74005556/archtechx-tenancy-vs-spatie-laravel-multitenancy
[2] https://github.com/archtechx/tenancy/actions
[3] https://tenancyforlaravel.com
[4] https://tenancyforlaravel.com/docs/v3/quickstart/
[5] https://github.com/stancl/tenancy/releases