マルチテナント システムは、単一のバックエンド アプリケーションで複数のクライアントを同時に管理する必要がある Web 開発者にとって有益です。
Spatie によってリリースされた Laravel 拡張機能 multitenancy この拡張機能は、主にマルチテナント システムを迅速に構築するのに役立ちます:
Freek Van der Herten の紹介記事によると:laravel-multitenancy 拡張機能リリース アドレス: t.co/q9HzfkNw7w
拡張機能のコンセプトは、マルチテナンシーの基本要素を提供することです。ドキュメント: t.co/zspuLyt3KN
ビデオ デモンストレーション (事例): t.co/i3QzTezcuY pic.twitter.com /cy2Fk4tIe6
#— Freek Van der Herten (@freekmurze)
紹介記事 を見ると、この拡張機能はマルチテナント システムを実装するための基本要素のみをユーザーに提供することが理解できます。
この拡張機能から次の便利な機能が得られます: モデルで、テナント インスタンスの作成に使用されます。この拡張機能が提供するいくつかのトラバーサル メソッドを通じて、現在のテナントをすばやく使用してアクセスできます。
use Spatie\Multitenancy\Models\Tenant; // 获取当前租户,不存在返回 null Tenant::current() // 通过容器的方式获取当前租户 app('currentTenant'); // 确认当前是否有租户 Tenant::checkCurrent() // 将某个租户设置为当前租户 $tenant->makeCurrent(); // 忘记当前租户 Tenant::forgetCurrent();
データ テーブルが見つかります。このテーブルはテナント情報を保存するために使用されます。この拡張機能は、ドメイン名による現在のテナントの決定など、いくつかの便利なメソッドを実装しています。DomainTenantFinder
クラスは、現在のテナントのクエリと設定に使用されます。もちろん、TenantFinder
抽象クラスを実装している限り、カスタム クエリ メソッドを構成することもできます。 テナントを探すときに、いくつかの必要な決定を考慮する必要がある場合もあります。この拡張機能は、入力パラメータ
に基づいて現在のテナントを決定および設定するミドルウェアや、現在のテナント以外のユーザーによるアクセスを防ぐ EnsureValidTenantSession
グローバルなど、いくつかのテナント決定ミドルウェアを提供します。テナントのミドルウェア。
および NotTenantAware
パラメーターを構成して、特定のテナントが特定の要件を使用できるようにすることができます。行列。 もちろん、
コマンドを使用して、特定のテナントで移行を実装することもできます。その場合は次のとおりです:
# 所有租户执行迁移 php artisan tenants:artisan migrate # 特定租户执行迁移 php artisan tenants:artisan "migrate --seed" --tenant=123
拡張機能の使用とインストールの詳細については、
spatie/laravel-multitenancyをお読みください。フリークの投稿 元のアドレス: https://laravel-news.com/spatie-multitenancy-laravel]翻訳アドレス: https://learnku.com/laravel/t/45142
#[関連する推奨事項:
laravel ビデオチュートリアル
以上がLaravel拡張機能の推奨:マルチテナント拡張機能パッケージ「multitenancy」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。