dappcore / php-tenant
Multi-tenancy and workspaces for Laravel
Fund package maintenance!
v0.1.0
2026-07-27 09:08 UTC
Requires
- php: ^8.2
- dappcore/php: *
Requires (Dev)
- laravel/pint: ^1.18
- orchestra/testbench: ^9.0|^10.0
- pestphp/pest: ^3.0
Replaces
- core/php-tenant: v0.1.0
This package is auto-updated.
Last update: 2026-07-28 09:13:34 UTC
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)