Kdyby/Console command bez konzole
- duskohu
- Člen | 778
Caute snazim sa spustit commasnd z presentru ale vracia mi to error:
`[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the „user“ namespace.` Neviete mi poradit
co robim zle? cez konzolu to ide bez problemov.
// DI
$container->addDefinition($this->prefix('verifySynchronizeLdapUsersCommand'))
->setClass('Nas\UsersModule\DI\VerifySynchronizeLdapUsersCommand')
->addTag('kdyby.console.command');
use Symfony\Component\Console\Input\ArrayInput;
use Kdyby\Console\StringOutput;
use Symfony\Component\Console\Application;
/** @var Application */
protected $app;
$input = new ArrayInput(
array(
'command' => 'user:verifyLdapSynchronize'
)
);
$input->setInteractive(FALSE);
$output = new StringOutput();
$returnCode = $this->app->run($input, $output);
bd($returnCode);
bd($output->getOutput());
Editoval duskohu (14. 6. 2017 13:57)
- jiri.pudil
- Nette Blogger | 1029
Přidej si do app ten command:
$this->app->add(new VerifySynchronizeLdapUsersCommand())
, mimo
CLI SAPI se to samo
neudělá :)
- Svaťa Šimara
- Člen | 98
@duskohu Zamyšlení – Není náhodou Presenter UI Controller a Command CLI Controller?
Spouštět jeden controller z druhého je přinejlepším dost zvláštní…
Zkus si říct, že bys spouštěl Presenter z Commandu. Divné, co?
- duskohu
- Člen | 778
Svaťa Šimara napsal(a):
@duskohu Zamyšlení – Není náhodou Presenter UI Controller a Command CLI Controller?
Spouštět jeden controller z druhého je přinejlepším dost zvláštní…
Zkus si říct, že bys spouštěl Presenter z Commandu. Divné, co?
Samozrejme ze to neni uplne ok, ale nechcelo sa mi pisat speci. sluzbu na tento command, potreboval som to jednorazovo spustit.
- Tomáš Votruba
- Moderator | 1114
@duskohu Souhlasím se Sváťou, že by logika měla ležet mi
delegator
(controller, presenter, command, subscriber…).
Ale to je tím, že jsem strašně línej. Než abych psal na fórum, tak bych to udělal za 20 vteřin čistě :).