CLI chyba statické volání CreateRouter
- wohral
- Člen | 13
Ahoj, mám problém s CLI
V aplikaci chci rozjet CLI, se kterým nemám moc zkušenosti a tak jsem
postupoval podle návodu od Honzy Zlámala
http://zlml.cz/…ev-clirouter
Samotná aplikace jede v pohodě, ale problém nastane, když volám appku
přes cli,
při zavolání php www/index.php Cli:Cli:cron mi to zaloguje tuto chybu:
[2016-04-07 18:08:33] PHP Strict standards: Non-static method App\RouterFactory::createRouter() should not be called statically, assuming $this from incompatible context in /temp/cache/Nette.Configurator/Container_bff1092afc.php:3161 {"at":"CLI: www/index.php Cli:Cli:cron"} []
[2016-04-07 18:08:33] PHP User Deprecated: Nette\DI\Container::__get() is deprecated; use getService() or enable di.accessors in configuration. in /www/autoportal/vendor/nette/di/src/DI/Container.php:320 {"at":"CLI: www/index.php Cli:Cli:cron"} []
config.neon
services:
routerFactory:
class: App\RouterFactory
arguments:
config: @config
router: @routerFactory::createRouter
RouterFactory:
class RouterFactory
{
private $config;
public function __construct(Config $config)
{
$this->config = $config;
}
/**
* @return Nette\Application\IRouter
*/
public function createRouter()
{
$router = new RouteList;
if ($this->config->get('consoleMode')) {
$router[] = new CliRouter(array(
'action' => 'Cli:Cli:cron'
));
} else {
$router[] = new Route('<presenter>/<action>/<id>', array(
'module' => 'Base',
'presenter' => 'Actions',
'action' => 'default',
'id' => NULL,
));
$router[] = new Route('<presenter>/<action>[/<id>]', 'Actions:default');
}
return $router;
}
}
Moc si s tím nevím rady, jestli to chápu dobřem tak mi to řve, že volám createRouter staticky i když to statická funkce není. Je to potřeba pro CLI volat nějak jinak nebo v čem může být problém?
Předem díky všem za radu a nakopnutí
- wohral
- Člen | 13
Moc děkuji. Na smazání cache jsem úplně zapomněl. :) Problém mi to vyřešilo ale vznikl hned nový, nevím čím to, ale asi mi to koliduje s nějakým pluginem, jelikož se mi vrací chyba
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "Cli:Cli" namespace
- David Matějka
- Moderator | 6445
Mas tam totiz nainstalovanou symfony console (mozna si to instaloval spolu s kdyby/doctrine nebo tak).. tak kdyz uz ji tam mas, tak ji rovnou pouzi a nemusis resit nejaky svoje cli presentery :)
- wohral
- Člen | 13
David Matějka napsal(a):
Mas tam totiz nainstalovanou symfony console (mozna si to instaloval spolu s kdyby/doctrine nebo tak).. tak kdyz uz ji tam mas, tak ji rovnou pouzi a nemusis resit nejaky svoje cli presentery :)
JJ to se tam opravdu nainstalovalo. Zkusím si s tou konzolí pohrát