Integrasi multi-database penyewaan untuk FilamentPHP
Peringatan
Kami memiliki masalah yang diketahui dengan route:cache
jika Anda menemukan masalah dengan koneksi multi-database dari sisi penyewa Anda, Anda mungkin menghadapi masalah ini cukup gunakan php artisan route:clear
dan itu akan diperbaiki.
Multi Basis Data
Buat Sumber Daya Penyewa
Sinkronkan Sumber Daya Penyewa
Perubahan Kata Sandi
Penyewa Meniru Identitas
Bagikan Data Penyewa
Tema Khusus Untuk Penyewa
Komponen Livewire Untuk Mendaftarkan Penyewa Baru
komposer memerlukan tomatophp/filament-tenancy
setelah menginstal paket Anda, silakan jalankan perintah ini
penyewaan filamen artisan php:install
di .env
Anda tambahkan ini
CENTRAL_DOMAIN=tomatophp.test
di mana tomatophp.test
adalah domain pusat Anda, dan pastikan Anda menambahkan pengguna root atau pengguna memiliki izin untuk membuat database, lalu di panel pusat utama Anda tambahkan plugin ini
gunakan TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->plugin(FilamentTenancyPlugin::make()->panel('aplikasi'))
sekarang Anda perlu membuat panel untuk aplikasi penyewaan
filamen tukang php:panel
dan buat namanya sama dengan ->panel('app')
, di panel aplikasi sewa Anda tambahkan plugin ini
gunakan TomatoPHPFilamentTenancyFilamentTenancyAppPlugin; ->plugin(FilamentTenancyAppPlugin::make())
sekarang di configdatabase.php
Anda tambahkan kode ini
...'koneksi' => ['dinamis' => ['driver' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0. 0,1'),'port' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'menempa'),'nama pengguna' => env('DB_USERNAME', 'menempa'),'kata sandi' => env('DB_PASSWORD', ''),'unix_socket' => env('DB_SOCKET', '') ,'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => benar,'ketat' => benar,'mesin' => null,'pilihan' => extension_loaded('pdo_mysql') ? array_filter([PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], ... ],
sekarang jalankan config:cache
konfigurasi tukang php:cache
di bootstrapapp.php
Anda tambahkan middleware ini
gunakan StanclTenancyMiddlewareInitializeTenancyByDomain; gunakan StanclTenancyMiddlewareInitializeTenancyBySubdomain; ->withMiddleware(fungsi (Middleware $middleware) {$middleware->group('universal', [InitializeTenancyByDomain::class,InitializeTenancyBySubdomain::class, ]); })
Anda dapat mengizinkan peniruan identitas ke panel tanent dengan 1 klik dengan menggunakan metode ini pada plugin Anda
gunakan TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->plugin(FilamentTenancyPlugin::make() ->panel('aplikasi') -> izinkan Meniru Identitas () )
Anda dapat mempublikasikan file konfigurasi dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-tenancy-config"
Anda dapat mempublikasikan file tampilan dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-tenancy-views"
Anda dapat mempublikasikan file bahasa dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-tenancy-lang"
Anda dapat mempublikasikan file migrasi dengan menggunakan perintah ini
vendor tukang php:publish --tag="filament-tenancy-migrations"
Lihat TomatoPHP kami yang Luar Biasa