Passed
Push — master ( 81beb2...14dfc0 )
by Radovan
11:10
created

Configurator::getDefaultParameters()   A

Complexity

Conditions 5
Paths 16

Size

Total Lines 15
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 5
eloc 13
c 1
b 0
f 1
nc 16
nop 0
dl 0
loc 15
rs 9.5222
1
<?php
2
declare(strict_types=1);
3
4
namespace Mallgroup\Bootstrap;
5
6
use Composer\Autoload\ClassLoader;
7
use Mallgroup\DI\Config\Adapters\EnvironmentAdapter;
8
use Nette\Bootstrap;
9
use Nette\DI\Config\Loader;
10
11
class Configurator extends Bootstrap\Configurator
12
{
13
    protected function createLoader(): Loader
14
    {
15
        $loader = parent::createLoader();
16
        $loader->addAdapter('env', EnvironmentAdapter::class);
17
        return $loader;
18
    }
19
20
	protected function getDefaultParameters(): array
21
	{
22
		$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
23
		$last = end($trace);
24
		$debugMode = static::detectDebugMode();
25
		$loaderRc = class_exists(ClassLoader::class)
26
			? new \ReflectionClass(ClassLoader::class)
27
			: null;
28
		return [
29
			'appDir' => isset($trace[2]['file']) ? dirname($trace[2]['file']) : null,
30
			'wwwDir' => isset($last['file']) ? dirname($last['file']) : null,
31
			'vendorDir' => $loaderRc ? dirname($loaderRc->getFileName(), 2) : null,
32
			'debugMode' => $debugMode,
33
			'productionMode' => !$debugMode,
34
			'consoleMode' => PHP_SAPI === 'cli',
35
		];
36
	}
37
}
38