多租用戶系統是那些需要在一套後端程式上同時維護多個客戶的 web 開發者的福音。
Spatie 發布的一個Laravel 的擴展multitenancy ,該擴充功能主要幫助您快速建立多租戶系統:
laravel-multitenancy 擴展發布地址:t.co/q9HzfkNw7w
此擴充概念是提供您實現多租戶的基本要素。文件: t.co/zspuLyt3KN
影片示範(案例): t.co/i3QzTezcuY pic.twitter.com /cy2Fk4tIe6
— Freek Van der Herten (@freekmurze) May 20, 2020
根據Freek Van der Herten 的介紹文章:introductory post,可以了解到此擴充只是提供使用者實現多租用戶系統的基本要素。
你可以從該擴充功能取得以下便利:
判斷目前是哪個租用戶。
租戶配置的級聯變更。
建立新租用戶資料庫,並在租用戶間的資料遷移工具。
詳細介紹以及使用方法請看具體文件:laravel-multitenancy documenation.
此擴充功能的核心是: Tenant
模型,該模型用於租用戶實例的創建,您可以透過該擴充功能提供的一些遍歷方法快速使用和存取目前租用戶。
use Spatie\Multitenancy\Models\Tenant; // 获取当前租户,不存在返回 null Tenant::current() // 通过容器的方式获取当前租户 app('currentTenant'); // 确认当前是否有租户 Tenant::checkCurrent() // 将某个租户设置为当前租户 $tenant->makeCurrent(); // 忘记当前租户 Tenant::forgetCurrent();
tenants 資料表,此表用於儲存租戶資訊。這個擴充實作了一些便利的方法,包括透過網域名稱來確定目前租用戶,其中
DomainTenantFinder 類,就是用於查詢並設定目前租用戶。當然,你也可以配置自訂查詢方式,只要實作
TenantFinder 抽象類別即可。
NeedsTenant,以及防止非當前租戶的用戶訪問的
EnsureValidTenantSession 全局中介軟體.
TenantAware 和
NotTenantAware 參數來實現特定租用戶可以使用特定隊列的需求。
tenants:artisan 指令來實現在特定租用戶下執行遷移的需求,案例如下:
# 所有租户执行迁移 php artisan tenants:artisan migrate # 特定租户执行迁移 php artisan tenants:artisan "migrate --seed" --tenant=123# # 更多知識關於擴充功能的使用以及安裝,請閱讀
spatie/laravel-multitenancy.
想要了解更多細節請閱讀Freek's post 。
原文網址:https://laravel-news.com/spatie-multitenancy-laravel翻譯網址:https://learnku.com/laravel/t/45142【相關推薦:
laravel影片教學】
以上是Laravel擴充推薦:多租戶擴充包 'multitenancy”的詳細內容。更多資訊請關注PHP中文網其他相關文章!