Я хочу, чтобы мои сервисы, такие как ORM, ODM, MailSender и т.д.... в моем консольном приложении в symfony.
Я использовал этот учебник:
http://symfony.com/doc/current/cookbook/console/commands_as_services.html
Но у меня есть ошибка.
vagrant@vagrant-debian-wheezy:~/www/aaaa/jocker$ php app/console
[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
The service "app.command.greet_command" has a dependency on a non-existent parameter "command.default_name".
Вопрос:
Простое и мощное использование консоли и HTTP с использованием одного и того же шаблона с другой средой.
http://framework.zend.com/manual/current/en/modules/zend.console.introduction.html
Во-первых, вам не нужно определять свою команду как услугу только для получения других сервисов - вам просто нужно убедиться, что ваша команда получена из ContainerAwareCommand
Это может устранить недостающее исключение параметра. Если нет, обратите внимание, что app/console
обычно пытается использовать среду "dev", если не переопределить переменную окружения, поэтому убедитесь, что все параметры загружены dev включают отсутствующий параметр command.default_name
Также возможно установить параметры через переменные среды, в этом случае вы можете установить SYMFONY__COMMAND__DEFAULT_NAME
чтобы предоставить это значение параметра.
Что касается вызова действия контроллера из командной консоли, то вы можете сделать это действие, которое вы можете вызвать как из HTTP-контроллера, так и с помощью команды консоли CLI.