shlink/config/config.php

43 lines
1.5 KiB
PHP
Raw Normal View History

2016-04-10 02:38:07 -05:00
<?php
2019-10-05 10:26:10 -05:00
2017-10-12 03:13:20 -05:00
declare(strict_types=1);
namespace Shlinkio\Shlink;
2020-01-01 14:11:53 -06:00
use Laminas\ConfigAggregator;
2020-10-16 12:21:40 -05:00
use Laminas\Diactoros;
2020-01-01 14:11:53 -06:00
use Mezzio;
use Mezzio\ProblemDetails;
2024-10-23 03:53:09 -05:00
use Shlinkio\Shlink\Core\Config\EnvVars;
2021-12-06 10:15:19 -06:00
2023-06-04 05:40:10 -05:00
return (new ConfigAggregator\ConfigAggregator(
providers: [
Mezzio\ConfigProvider::class,
Mezzio\Router\ConfigProvider::class,
Mezzio\Router\FastRouteRouter\ConfigProvider::class,
ProblemDetails\ConfigProvider::class,
Diactoros\ConfigProvider::class,
Common\ConfigProvider::class,
Config\ConfigProvider::class,
Importer\ConfigProvider::class,
IpGeolocation\ConfigProvider::class,
EventDispatcher\ConfigProvider::class,
Core\ConfigProvider::class,
CLI\ConfigProvider::class,
Rest\ConfigProvider::class,
new ConfigAggregator\PhpFileProvider('config/autoload/{,*.}global.php'),
2024-10-23 03:53:09 -05:00
// Test config should be loaded ONLY during tests
EnvVars::isTestEnv()
? new ConfigAggregator\PhpFileProvider('config/test/*.global.php')
: new ConfigAggregator\ArrayProvider([]),
2023-06-04 05:40:10 -05:00
// Routes have to be loaded last
new ConfigAggregator\PhpFileProvider('config/autoload/routes.config.php'),
],
cachedConfigFile: 'data/cache/app_config.php',
postProcessors: [
Core\Config\PostProcessor\BasePathPrefixer::class,
Core\Config\PostProcessor\MultiSegmentSlugProcessor::class,
Core\Config\PostProcessor\ShortUrlMethodsProcessor::class,
],
))->getMergedConfig();