Rumah  >  Artikel  >  rangka kerja php  >  Cadangan sambungan Laravel: pakej sambungan berbilang penyewa 'berbilang tenaga'

Cadangan sambungan Laravel: pakej sambungan berbilang penyewa 'berbilang tenaga'

青灯夜游
青灯夜游asal
2022-10-10 19:10:001891semak imbas

Cadangan sambungan Laravel: pakej sambungan berbilang penyewa 'berbilang tenaga'

Sistem berbilang penyewa adalah rahmat untuk pembangun web yang perlu mengekalkan berbilang pelanggan secara serentak pada satu set program bahagian belakang.

Sambungan Laravel multitenancy yang dikeluarkan oleh Spatie ini terutamanya membantu anda membina sistem berbilang penyewa dengan cepat:

alamat keluaran sambungan laravel-multitenancy: <.>t.co/q9HzfkNw7wKonsep lanjutan adalah untuk menyediakan anda elemen asas untuk penyewaan berbilang.

Dokumentasi:

t.co/zspuLyt3KN

Demonstrasi video (kes):

t.co/i3QzTezcuY pic.twitter.com /cy2Fk4tIe6

— Freek Van der Herten (@freekmurze)

20 Mei 2020

Menurut artikel pengenalan Freek Van der Herten siaran pengenalan

, anda boleh memahami bahawa sambungan ini hanya menyediakan pengguna dengan elemen asas untuk melaksanakan sistem berbilang penyewa. Anda boleh mendapatkan kemudahan berikut daripada sambungan ini:

    Nilai penyewa anda sekarang.
  • Perubahan melata pada konfigurasi penyewa.
  • Buat pangkalan data penyewa baharu dan alat pemindahan data antara penyewa.
  • Sila lihat dokumen khusus untuk pengenalan dan penggunaan terperinci:
dokumentasi multitenancy laravel

.

Model Penyewa

Inti sambungan ini ialah:

Model, yang digunakan untuk mencipta kejadian penyewa Anda boleh menggunakan dan mengakses penyewa semasa dengan cepat melalui beberapa kaedah traversal yang disediakan oleh sambungan ini.

Tenant

use Spatie\Multitenancy\Models\Tenant;

// 获取当前租户,不存在返回 null
Tenant::current()

// 通过容器的方式获取当前租户
app(&#39;currentTenant&#39;);

// 确认当前是否有租户
Tenant::checkCurrent()

// 将某个租户设置为当前租户
$tenant->makeCurrent();

// 忘记当前租户
Tenant::forgetCurrent();
Meminta pelanggan penyewa

Selepas memasang sambungan, dalam pangkalan data anda akan menemui

jadual data, yang Digunakan untuk menyimpan maklumat penyewa. Sambungan ini melaksanakan beberapa kaedah mudah, termasuk menentukan penyewa semasa dengan nama domain, di mana kelas

digunakan untuk membuat pertanyaan dan menetapkan penyewa semasa. Sudah tentu, anda juga boleh mengkonfigurasi kaedah pertanyaan tersuai, selagi anda melaksanakan kelas abstrak tenants. DomainTenantFinderTenantFinderAnda juga mungkin perlu mempertimbangkan beberapa keputusan yang perlu semasa mencari penyewa. Sambungan ini menyediakan beberapa perisian tengah penentuan penyewa, seperti perisian tengah

yang menentukan dan menetapkan penyewa semasa berdasarkan parameter input, dan perisian tengah global

yang menghalang akses oleh pengguna selain penyewa semasa. NeedsTenantEnsureValidTenantSession

Konsol dan baris gilir Tenant-Aware

Isu lain yang perlu dipertimbangkan dalam sistem berbilang penyewa ialah: takrifan arahan konsol dan skop baris gilir. Secara lalai, pelaksanaan baris gilir tidak akan dibezakan berdasarkan penyewa Dalam sambungan ini, anda boleh mengkonfigurasi parameter

dan

untuk merealisasikan keperluan penyewa tertentu boleh menggunakan baris gilir tertentu. TenantAwareNotTenantAwareSudah tentu, anda juga boleh menggunakan perintah

untuk melaksanakan penghijrahan di bawah penyewa tertentu Kesnya adalah seperti berikut:

tenants:artisan

# 所有租户执行迁移
php artisan tenants:artisan migrate

# 特定租户执行迁移
php artisan tenants:artisan "migrate --seed" --tenant=123
## Lagi. pengetahuan

Untuk penggunaan sambungan dan pemasangan, sila baca

spatie/laravel-multitenancy

.Untuk butiran lanjut, sila baca

siaran Freek

.

Alamat asal: https://laravel-news.com/spatie-multitenancy-laravel

Alamat terjemahan: https://learnku.com/laravel/t/45142

[Cadangan berkaitan:
tutorial video laravel

]

Atas ialah kandungan terperinci Cadangan sambungan Laravel: pakej sambungan berbilang penyewa 'berbilang tenaga'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn