2016-04-10 10:38:07 +03:00
|
|
|
<?php
|
2017-10-12 11:13:20 +03:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2016-08-14 22:28:21 +03:00
|
|
|
use Acelaya\ExpressiveErrorHandler;
|
2016-07-19 17:50:02 +03:00
|
|
|
use Shlinkio\Shlink\CLI;
|
2016-07-19 18:38:41 +03:00
|
|
|
use Shlinkio\Shlink\Common;
|
2016-07-19 19:01:39 +03:00
|
|
|
use Shlinkio\Shlink\Core;
|
2016-07-19 18:07:59 +03:00
|
|
|
use Shlinkio\Shlink\Rest;
|
2017-03-24 22:34:18 +03:00
|
|
|
use Zend\ConfigAggregator;
|
2018-03-26 19:49:28 +03:00
|
|
|
use Zend\Expressive;
|
2016-04-10 10:38:07 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Configuration files are loaded in a specific order. First ``global.php``, then ``*.global.php``.
|
|
|
|
* then ``local.php`` and finally ``*.local.php``. This way local settings overwrite global settings.
|
|
|
|
*
|
|
|
|
* The configuration can be cached. This can be done by setting ``config_cache_enabled`` to ``true``.
|
|
|
|
*
|
|
|
|
* Obviously, if you use closures in your config you can't cache it.
|
|
|
|
*/
|
|
|
|
|
2017-03-24 22:34:18 +03:00
|
|
|
return (new ConfigAggregator\ConfigAggregator([
|
2018-03-26 19:49:28 +03:00
|
|
|
Expressive\ConfigProvider::class,
|
|
|
|
Expressive\Router\ConfigProvider::class,
|
|
|
|
Expressive\Router\FastRouteRouter\ConfigProvider::class,
|
|
|
|
Expressive\Plates\ConfigProvider::class,
|
|
|
|
Expressive\Helper\ConfigProvider::class,
|
2018-07-04 21:40:38 +03:00
|
|
|
\class_exists(Expressive\Swoole\ConfigProvider::class)
|
|
|
|
? Expressive\Swoole\ConfigProvider::class
|
|
|
|
: new ConfigAggregator\ArrayProvider([]),
|
2016-08-14 22:28:21 +03:00
|
|
|
ExpressiveErrorHandler\ConfigProvider::class,
|
2016-07-20 00:35:47 +03:00
|
|
|
Common\ConfigProvider::class,
|
|
|
|
Core\ConfigProvider::class,
|
|
|
|
CLI\ConfigProvider::class,
|
|
|
|
Rest\ConfigProvider::class,
|
2017-03-24 22:34:18 +03:00
|
|
|
new ConfigAggregator\ZendConfigProvider('config/{autoload/{{,*.}global,{,*.}local},params/generated_config}.php'),
|
2016-07-20 00:35:47 +03:00
|
|
|
], 'data/cache/app_config.php'))->getMergedConfig();
|