|
14 | 14 | use Nette\DI\Config\Loader; |
15 | 15 | use Nette\DI\Container; |
16 | 16 | use Nette\DI\ContainerLoader; |
| 17 | +use Nette\DI\Definitions\Statement; |
17 | 18 | use Nette\DI\Extensions\ExtensionsExtension; |
18 | 19 | use Nette\DI\Helpers as DIHelpers; |
19 | 20 | use Nette\PhpGenerator\Literal; |
20 | 21 | use Nette\Schema\Helpers as ConfigHelpers; |
| 22 | +use OriNette\DI\Boot\Parameters\BaseUrl; |
21 | 23 | use Orisai\Utils\Dependencies\Dependencies; |
22 | 24 | use Orisai\Utils\Dependencies\Exception\PackageRequired; |
23 | 25 | use ReflectionClass; |
|
26 | 28 | use Tracy\Debugger; |
27 | 29 | use Traversable; |
28 | 30 | use function array_keys; |
| 31 | +use function array_merge; |
29 | 32 | use function assert; |
30 | 33 | use function class_exists; |
31 | 34 | use function filemtime; |
@@ -87,6 +90,7 @@ protected function getDefaultParameters(): array |
87 | 90 | 'tempDir' => $this->rootDir . '/var/cache', |
88 | 91 | 'vendorDir' => $this->rootDir . '/vendor', |
89 | 92 | 'wwwDir' => $this->rootDir . '/public', |
| 93 | + 'baseUrl' => new Statement('@' . BaseUrl::class . '::get'), |
90 | 94 | 'debugMode' => false, |
91 | 95 | 'productionMode' => true, |
92 | 96 | 'consoleMode' => PHP_SAPI === 'cli', |
@@ -181,22 +185,26 @@ private function generateContainer(Compiler $compiler, array $configFiles): void |
181 | 185 | $loader->addAdapter($extension, $adapter); |
182 | 186 | } |
183 | 187 |
|
| 188 | + $compiler->loadConfig(__DIR__ . '/Parameters/wiring.neon'); |
184 | 189 | foreach ($configFiles as $configFile) { |
185 | 190 | $compiler->loadConfig($configFile, $loader); |
186 | 191 | } |
187 | 192 |
|
188 | 193 | $now = new DateTimeImmutable(); |
189 | 194 |
|
190 | | - $parameters = DIHelpers::escape($this->staticParameters) + |
191 | | - [ |
| 195 | + $parameters = DIHelpers::escape($this->staticParameters) |
| 196 | + + [ |
192 | 197 | 'container' => [ |
193 | 198 | 'compiledAtTimestamp' => (int) $now->format('U'), |
194 | 199 | 'compiledAt' => $now->format(DATE_ATOM), |
195 | 200 | 'className' => new Literal('static::class'), |
196 | 201 | ], |
197 | 202 | ]; |
198 | 203 | $compiler->addConfig(['parameters' => $parameters]); |
199 | | - $compiler->setDynamicParameterNames(array_keys($this->dynamicParameters)); |
| 204 | + $compiler->setDynamicParameterNames(array_merge( |
| 205 | + array_keys($this->dynamicParameters), |
| 206 | + ['baseUrl'], |
| 207 | + ),); |
200 | 208 |
|
201 | 209 | $builder = $compiler->getContainerBuilder(); |
202 | 210 | $builder->addExcludedClasses($this->autowireExcludedClasses); |
|
0 commit comments