Команда консоли Zend ничего не ответит
Я пытаюсь использовать Zend Console и следую документации на их сайте. Это мой код
module.config.php
"router" => [
"routes" => [
"companies" => [
"type" => "segment",
"options" => [
"route" => "/companies[/:action[/:id]]",
"constraints" => [
"action" => "[a-zA-Z][a-zA-Z0-9_-]*",
"id" => "[0-9]*",
],
"defaults" => [
"controller" => Controller\CompaniesController::class,
"action" => "index",
],
],
],
],
],
"console" => [
"router" => [
"routes" => [
"abc1" => [
"options" => [
"route" => "abc1",
"defaults" => [
"controller" => Controller\Console::class,
"action" => "abc",
],
],
],
],
],
],
Мой контроллер
public function abcAction() {
$request = $this->getRequest();
if (! $request instanceof ConsoleRequest) {
throw new RuntimeException("You can only use this action from a console!");
}
return "Done! abc.\n";
}
Когда я делаю php public/index.php abc1
это ничего не делает. ничего не показывает мне не хватает какого-либо конфига?
1 ответ
Пример того, что у меня есть в проектах, над которыми я работаю:
<?php
namespace MyNameSpace;
use MyNameSpace\Console\CommandController;
use Zend\Mvc\Console\Router\Simple;
return [
'console' => [
'router' => [
'routes' => [
'name_of_command' => [
'type' => Simple::class,
'options' => [
'route' => 'name-of-command',
'defaults' => [
'controller' => CommandController::class,
'action' => 'command',
],
],
],
],
],
],
'controllers' => [
'factories' => [
// [... ] generated config
CommandController::class => CommandControllerFactory::class,
],
],
];
Затем получил контроллер
<?php
namespace MyNameSpace\Console;
use Zend\Mvc\Console\Controller\AbstractConsoleController;
class CommandController extends AbstractConsoleController
{
public function commandAction()
{
echo 'this is a response';
}
}
Вышесказанное работает для меня без помех.