Spojazdnenie PHP CLI: Chyba Container::addConfig
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- orion05
- Člen | 9
Ahoje
cez Composer som si vytvoril nový projekt a stiahol k nemu Kdyby/Console, pri snahe o spojazdnenie PHP CLI som si vytvoril súbor cli
#!/usr/bin/env php
<?php
$configurator = require __DIR__ . '/app/bootstrap.php';
$configurator->addConfig(__DIR__ . '/app/config/console.neon');
$container = $configurator->createContainer();
$input = new Symfony\Component\Console\Input\ArgvInput($argv);
// Run console
if (PHP_SAPI === 'cli') {
$console = $container->getByType('Symfony\Component\Console\Application');
$console->run($input);
}
pri spustení dostanem error
Nette\MemberAccessException: Call to undefined method Container_40653fdfac::addConfig(). in C:\Geohra\geohra\vendor\nette\utils\src\Utils\ObjectMixin.php:100 @ CLI: ./cli @@ exception--2015-09-23--06-54--405f12b333.html
Prosím o radu ako spojazdniť cli.
- greeny
- Člen | 405
Ahoj,
chybu způsobuje ten řádek
$configurator->addConfig(__DIR__ . '/app/config/console.neon');
.
Voláš to na již vygenerovaný container. app/bootstrap.php
totiž určitě vrací něco
jako $configurator->createContainer();
Spíš než přidávat config mimo bootstrap.php zkus např. tenhle přístup:
<?php
$configurator = new Configurator;
...
$configurator->addConfig("config.neon");
$configurator->addConfig("config.local.neon");
if (PHP_SAPI === "cli") $configurator->addConfig("console.neon");
...
return $configurator->createContainer();
?>
A v tomhle souboru už budeš pracovat rovnou s hotovým Container :)