lthn/php-tenant
最新稳定版本:v0.0.3
Composer 安装命令:
composer require lthn/php-tenant
包简介
Multi-tenancy and workspaces for Laravel
README 文档
README
Multi-tenancy module for the Core PHP Framework providing users, workspaces, and entitlements.
Features
- Users & Authentication - User management with 2FA support
- Workspaces - Multi-tenant workspace boundaries
- Entitlements - Feature access, packages, and usage tracking
- Account Management - User settings, account deletion
- Referrals - Referral system support
- Usage Alerts - Configurable usage threshold alerts
Requirements
- PHP 8.2+
- Laravel 11.x or 12.x
- Core PHP Framework (
lthn/php)
Installation
composer require lthn/php-tenant
The service provider will be auto-discovered.
Run migrations:
php artisan migrate
Usage
Workspace Management
use Core\Mod\Tenant\Services\WorkspaceManager;
use Core\Mod\Tenant\Services\WorkspaceService;
// Get current workspace
$workspace = app(WorkspaceManager::class)->current();
// Create a new workspace
$workspace = app(WorkspaceService::class)->create([
'name' => 'My Workspace',
'owner_id' => $user->id,
]);
Entitlements
use Core\Mod\Tenant\Services\EntitlementService;
$entitlements = app(EntitlementService::class);
// Check if workspace has access to a feature
if ($entitlements->hasAccess($workspace, 'premium_feature')) {
// Feature is enabled
}
// Check usage limits
$usage = $entitlements->getUsage($workspace, 'api_calls');
Middleware
The module provides middleware for workspace-based access control:
// In your routes
Route::middleware('workspace.permission:manage-users')->group(function () {
// Routes requiring manage-users permission
});
Models
| Model | Description |
|---|---|
User | Application users |
Workspace | Tenant workspace boundaries |
WorkspaceMember | Workspace membership with roles |
Entitlement | Feature/package entitlements |
UsageRecord | Usage tracking records |
Referral | Referral tracking |
Events
The module fires events for key actions:
WorkspaceCreatedWorkspaceMemberAddedWorkspaceMemberRemovedEntitlementChangedUsageAlertTriggered
Artisan Commands
# Refresh user statistics
php artisan tenant:refresh-user-stats
# Process scheduled account deletions
php artisan tenant:process-deletions
# Check usage alerts
php artisan tenant:check-usage-alerts
# Reset billing cycles
php artisan tenant:reset-billing-cycles
Configuration
The module uses the Core PHP configuration system. Key settings can be configured per-workspace or system-wide.
Documentation
License
EUPL-1.2 (European Union Public Licence)
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: EUPL-1.2
- 更新时间: 2026-03-09