Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Archtechx/pronájem


Archtechx/pronájem


Balík `archtechx/tenancy` je flexibilní a výkonný nástroj pro implementaci multi-tenancy v aplikacích Laravel. Zde jsou některé klíčové funkce a rozdíly ve srovnání s jinými balíčky, jako je `spatie/laravel-multitenancy`:

Klíčové vlastnosti `archtechx/tenancy`:

1. Automatické vícenásobné pronájmy: Balíček automaticky nastaví vícenásobný pronájem bez nutnosti významných změn kódu. Zpracovává databázová připojení, mezipaměti, souborové systémy, fronty a úložiště Redis pro každého tenanta[3].

2. Architektura založená na událostech: Balíček používá architekturu řízenou událostmi, která umožňuje přizpůsobení a flexibilitu při zpracovávání událostí souvisejících s pronájmem[3].

3. Pronájem jedné nebo více databází: Podporuje modely pronájmu s jednou databází i s více databázemi. V případě pronájmu více databází poskytuje aktuálnímu nájemci vlastnosti modelu pro stanovení rozsahu modelů[3].

4. Integrace s jinými balíčky: Balíček se hladce integruje s ostatními balíčky Laravel, včetně Laravel Nova, které lze použít ke správě zdrojů tenanta[3].

5. Testovatelnost: Balíček je navržen tak, aby byl vysoce testovatelný, což usnadňuje zajištění důkladného testování vaší implementace pro více nájemců[3].

6. Přizpůsobení: Balíček nabízí rozsáhlé možnosti přizpůsobení prostřednictvím architektury založené na událostech a modelových vlastností, což umožňuje vývojářům přizpůsobit jej svým konkrétním potřebám[3].

Instalace a rychlý start:

1. Instalace: Balíček lze nainstalovat pomocí Composer: `composer required stancl/tenancy`.

2. Rychlý start: Balíček obsahuje výukový program pro rychlý start, který vás provede nastavením pronájmu více databází a identifikací domény. Tento tutoriál je dostupný na stránce dokumentace balíčku[4].

Srovnání s `spatie/laravel-multitenancy`:

- Automatické nastavení: Oba balíčky nabízejí možnosti automatického nastavení, ale `archtechx/tenancy` je ve svém automatickém nastavení komplexnější a řeší více aspektů vícenásobného pronájmu hned po vybalení.
- Architektura založená na událostech: `archtechx/tenancy` používá architekturu řízenou událostmi, která poskytuje větší flexibilitu a možnosti přizpůsobení ve srovnání s `spatie/laravel-multitenancy`.
- Integrace s jinými balíčky: Oba balíčky se dobře integrují s jinými balíčky Laravel, ale `archtechx/tenancy` je explicitnější ve své podpoře pro balíčky jako Laravel Nova.
- Testovatelnost: Oba balíčky jsou navrženy tak, aby byly testovatelné, ale `archtechx/tenancy` se více zaměřuje na testovatelnost a poskytuje více nástrojů pro zajištění důkladného testování.

Stručně řečeno, `archtechx/tenancy` nabízí komplexnější a flexibilnější řešení pro multi-tenancy v Laravelu s rozsáhlými možnostmi přizpůsobení a lepší integrací s dalšími balíčky. Výběr mezi těmito dvěma balíčky však nakonec závisí na konkrétních požadavcích a potřebách vašeho projektu.

Citace:
[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