Terminology
This page covers some of the common terminology we use across this documentation. Most of the concepts are explained on their respective pages, but this page aims to provide a list of todo
| Term | Meaning |
|---|---|
| Route-level middleware | Middleware defined on a specific route, either directly or using route groups. Opposite of kernel middleware |
| Kernel middleware | Middleware defined in App\Http\Kernel@$middleware. Used with early identification |
| Universal route | A route usable in both the central app and the tenant app. It has the identification middleware but it only triggers when the tenant is actually provided in some way. |
| Tenant app | The tenant part of the application (tenant is identified and tenancy is initialized upon visit) |
| Central app | The central part of the application (tenancy is not used here, typically part of the app includes the onboarding logic, some central admin panel for managing tenants, and similar) |
| Tenant identification | The process of identifying a tenant based on the request. Handled by identification middleware |
| Tenancy initialization | The process of initializing tenancy (switching the application context to that of a specific tenant) |
| Application context | Can be central or tenant. When the application is in the central context, it works like a normal Laravel app. When it's in the tenant context, Tenancy Bootstrappers scope various Laravel components to the current tenant |
| Tenancy Bootstrapper | A class that manages scoping certain logic (either a part of Laravel or a third-party package) to the tenant context and vice versa. Implements the Stancl\Tenancy\Contracts\TenancyBootstrapper interface and is registered in tenancy.bootstrappers |
| Tenancy Feature | A class that adds bootstraps additional functionality (optional features). Implements Stancl\Tenancy\Contracts\Feature and is registered in tenancy.features |