Tenant config

This commit is contained in:
Samuel Štancl 2019-10-04 22:39:53 +02:00
parent 4ab5bbec0c
commit 31055aa9d6
2 changed files with 35 additions and 0 deletions

View file

@ -76,6 +76,7 @@ return [
'url' => 'digging-deeper', 'url' => 'digging-deeper',
'children' => [ 'children' => [
'Tenants' => 'tenants', 'Tenants' => 'tenants',
'Tenant Config' => 'tenant-config',
'Middleware Configuration' => 'middleware-configuration', 'Middleware Configuration' => 'middleware-configuration',
'Custom Database Names' => 'custom-database-names', 'Custom Database Names' => 'custom-database-names',
'Filesystem Tenancy' => 'filesystem-tenancy', 'Filesystem Tenancy' => 'filesystem-tenancy',

View file

@ -0,0 +1,34 @@
---
title: Tenant Config
description: Tenant Config
extends: _layouts.documentation
section: content
---
# Tenant Config {#tenant-config}
It's likely you will need to use tenant-specific config in your application. That config could be API keys, things like "products per page" and many other things.
You could just use the [tenant storage]({{ $page->link('tenant-storage') }}) to get these values, but you may still want to use Laravel's `config()` because of:
- separation of concerns -- if you just write tenancy implementation-agnostic `config('shop.products_per_page')`, you will have a much better time changing tenancy implementations
- default values -- you may want to use the tenant storage only to override values in your config file
## Enabling the feature
Uncomment the following line in your `tenancy.features` config:
```php
// Stancl\Tenancy\Features\TenantConfig::class,
```
## Configuring the mappings
This feature maps keys in the tenant storage to config keys based on the `tenancy.storage_to_config_map` config.
For example, if your `storage_to_config_map` looked like this:
```php
'storage_to_config_map' => [
'paypal_api_key' => 'services.paypal.api_key',
],
```
the value of `paypal_api_key` in [tenant storage]({{ $page->link('tenant-storage') }}) would be copied to the `services.paypal.api_key` config when tenancy is initialized.