1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-03-21 23:24:03 +00:00

Update comments in TenancyUrlGenerator and UrlGeneratorBootstrapper

This commit is contained in:
lukinovec 2026-03-10 13:27:35 +01:00
parent 8345d64812
commit f0ff717acb
2 changed files with 14 additions and 9 deletions

View file

@ -16,7 +16,7 @@ use Stancl\Tenancy\Resolvers\PathTenantResolver;
/** /**
* Makes the app use TenancyUrlGenerator (instead of Illuminate\Routing\UrlGenerator) which: * Makes the app use TenancyUrlGenerator (instead of Illuminate\Routing\UrlGenerator) which:
* - prefixes route names with the tenant route name prefix (PathTenantResolver::tenantRouteNamePrefix() by default) * - prefixes route names with the tenant route name prefix (PathTenantResolver::tenantRouteNamePrefix() by default)
* - passes the tenant parameter to the link generated by route() and temporarySignedRoute() (PathTenantResolver::tenantParameterName() by default). * - passes the tenant parameter (PathTenantResolver::tenantParameterName() by default) to the link generated by the affected methods like route() and temporarySignedRoute().
* *
* Used with path and query string identification. * Used with path and query string identification.
* *

View file

@ -22,16 +22,17 @@ use Stancl\Tenancy\Resolvers\RequestDataTenantResolver;
* - Automatically passing ['tenant' => ...] to each route() call -- if TenancyUrlGenerator::$passTenantParameterToRoutes is enabled * - Automatically passing ['tenant' => ...] to each route() call -- if TenancyUrlGenerator::$passTenantParameterToRoutes is enabled
* This is a more universal solution since it supports both path identification and query parameter identification. * This is a more universal solution since it supports both path identification and query parameter identification.
* *
* - Prepends route names passed to route() and URL::temporarySignedRoute() * - Prepends route names with `tenant.` (or the configured prefix) if $prefixRouteNames is enabled.
* with `tenant.` (or the configured prefix) if $prefixRouteNames is enabled.
* This is primarily useful when using route cloning with path identification. * This is primarily useful when using route cloning with path identification.
* *
* To bypass this behavior on any single route() call, pass the $bypassParameter as true (['central' => true] by default). * Affected methods: route(), toRoute(), temporarySignedRoute(), signedRoute() (the last two via the route() override).
*
* To bypass this behavior on any single affected method call, pass the $bypassParameter as true (['central' => true] by default).
*/ */
class TenancyUrlGenerator extends UrlGenerator class TenancyUrlGenerator extends UrlGenerator
{ {
/** /**
* Parameter which works as a flag for bypassing the behavior modification of route() and temporarySignedRoute(). * Parameter which works as a flag for bypassing the behavior modification of the affected methods.
* *
* For example, in tenant context: * For example, in tenant context:
* Route::get('/', ...)->name('home'); * Route::get('/', ...)->name('home');
@ -44,12 +45,12 @@ class TenancyUrlGenerator extends UrlGenerator
* Note: UrlGeneratorBootstrapper::$addTenantParameterToDefaults is not affected by this, though * Note: UrlGeneratorBootstrapper::$addTenantParameterToDefaults is not affected by this, though
* it doesn't matter since it doesn't pass any extra parameters when not needed. * it doesn't matter since it doesn't pass any extra parameters when not needed.
* *
* @see UrlGeneratorBootstrapper * @see Stancl\Tenancy\Bootstrappers\UrlGeneratorBootstrapper
*/ */
public static string $bypassParameter = 'central'; public static string $bypassParameter = 'central';
/** /**
* Should route names passed to route() or temporarySignedRoute() * Should route names passed to the affected methods
* get prefixed with the tenant route name prefix. * get prefixed with the tenant route name prefix.
* *
* This is useful when using e.g. path identification with third-party packages * This is useful when using e.g. path identification with third-party packages
@ -59,12 +60,12 @@ class TenancyUrlGenerator extends UrlGenerator
public static bool $prefixRouteNames = false; public static bool $prefixRouteNames = false;
/** /**
* Should the tenant parameter be passed to route() or temporarySignedRoute() calls. * Should the tenant parameter be passed to the affected methods.
* *
* This is useful with path or query parameter identification. The former can be handled * This is useful with path or query parameter identification. The former can be handled
* more elegantly using UrlGeneratorBootstrapper::$addTenantParameterToDefaults. * more elegantly using UrlGeneratorBootstrapper::$addTenantParameterToDefaults.
* *
* @see UrlGeneratorBootstrapper * @see Stancl\Tenancy\Bootstrappers\UrlGeneratorBootstrapper
*/ */
public static bool $passTenantParameterToRoutes = false; public static bool $passTenantParameterToRoutes = false;
@ -115,6 +116,8 @@ class TenancyUrlGenerator extends UrlGenerator
* *
* Only the name is taken from prepareRouteInputs() here parameter handling * Only the name is taken from prepareRouteInputs() here parameter handling
* (adding tenant parameter, removing bypass parameter) is delegated to toRoute(). * (adding tenant parameter, removing bypass parameter) is delegated to toRoute().
*
* Affects temporarySignedRoute() and signedRoute() as well since they call route() under the hood.
*/ */
public function route($name, $parameters = [], $absolute = true) public function route($name, $parameters = [], $absolute = true)
{ {
@ -130,6 +133,8 @@ class TenancyUrlGenerator extends UrlGenerator
/** /**
* Override the toRoute() method so that the route name gets prefixed * Override the toRoute() method so that the route name gets prefixed
* and the tenant parameter gets added when in tenant context. * and the tenant parameter gets added when in tenant context.
*
* Also affects route(). Even though route() is overridden separately, it delegates parameter handling to toRoute().
*/ */
public function toRoute($route, $parameters, $absolute) public function toRoute($route, $parameters, $absolute)
{ {