FilamentPHP를 위한 테넌시 다중 데이터베이스 통합
경고
route:cache
에 알려진 문제가 있습니다. 테넌트 측에서 다중 데이터베이스 연결에 문제가 있는 경우 이 문제에 직면할 수 있습니다. php artisan route:clear
사용하면 해결됩니다.
다중 데이터베이스
테넌트 리소스 생성
테넌트 리소스 동기화
비밀번호 변경
테넌트 가장
테넌트 데이터 공유
테넌트를 위한 맞춤 테마
새 임차인 등록을 위한 Livewire 구성 요소
작곡가에게는 토마토 PHP/필라멘트 테넌시가 필요합니다.
패키지를 설치한 후 이 명령을 실행하세요.
PHP artisan 필라멘트 테넌시:설치
.env
에 이것을 추가하십시오
CENTRAL_DOMAIN=tomatophp.test
여기서 tomatophp.test
는 중앙 도메인입니다. 루트 사용자를 추가하거나 사용자에게 데이터베이스 생성 권한이 있는지 확인한 다음 기본 중앙 패널에 이 플러그인을 추가하세요.
TomatoPHPFilamentTenancyFilamentTenancyPlugin을 사용합니다. ->plugin(FilamentTenancyPlugin::make()->panel('app'))
이제 임대 앱용 패널을 만들어야 합니다.
PHP 장인 필라멘트:패널
이름을 ->panel('app')
과 동일하게 만들고 테넌시 앱 패널에 이 플러그인을 추가하세요.
TomatoPHPFilamentTenancyFilamentTenancyAppPlugin을 사용합니다. ->플러그인(FilamentTenancyAppPlugin::make())
이제 configdatabase.php
에 이 코드를 추가하세요.
...'연결' => ['동적' => ['드라이버' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0. 0.1'),'포트' => env('DB_PORT', '3306'),'데이터베이스' => env('DB_DATABASE', 'forge'),'username' => env('DB_USERNAME', 'forge' ),'password' => env('DB_PASSWORD', ''),'unix_socket' => env('DB_SOCKET', ''),'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci', 'prefix' => '','prefix_indexes' => true,'strict' => true,'engine' => null,'options' => Extension_loaded('pdo_mysql') ? array_filter([PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], ... ],
이제 config:cache를 실행하세요.
PHP 장인 구성:캐시
bootstrapapp.php
에 이 미들웨어를 추가하세요.
StanclTenancyMiddlewareInitializeTenancyByDomain 사용; StanclTenancyMiddlewareInitializeTenancyBySubdomain 사용; ->withMiddleware(함수 (미들웨어 $middleware) {$middleware->group('universal', [InitializeTenancyByDomain::class,InitializeTenancyBySubdomain::class, ]); })
플러그인에서 이 방법을 사용하면 한 번의 클릭으로 Tanent 패널로 가장할 수 있습니다.
TomatoPHPFilamentTenancyFilamentTenancyPlugin을 사용합니다. ->플러그인(FilamentTenancyPlugin::make() ->패널('앱') ->Impersonate() 허용 )
이 명령을 사용하여 구성 파일을 게시할 수 있습니다
php artisan Vendor:publish --tag="필라멘트-tenancy-config"
이 명령을 사용하여 뷰 파일을 게시할 수 있습니다
php artisan Vendor:publish --tag="필라멘트-tenancy-views"
이 명령을 사용하여 언어 파일을 게시할 수 있습니다
php artisan Vendor:publish --tag="필라멘트-tenancy-lang"
이 명령을 사용하여 마이그레이션 파일을 게시할 수 있습니다
php artisan Vendor:publish --tag="필라멘트-tenancy-migrations"
우리의 멋진 TomatoPHP를 확인해 보세요