首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony 1.4.6从任务加载factories.yml配置

Symfony 1.4.6从任务加载factories.yml配置
EN

Stack Overflow用户
提问于 2010-08-23 23:36:12
回答 1查看 2.2K关注 0票数 4

我在factories.yml文件中设置了以下配置...

代码语言:javascript
运行
复制
all:
  mailer:
    param:
      transport:
        class: Swift_SendmailTransport
        param:
          command: /usr/sbin/sendmail -oi -t

正如here所描述的那样,...to克服了“双点”问题。

当我运行下面的代码时...

代码语言:javascript
运行
复制
$mailer = $this->getMailer();
$message = $mailer->compose();

$message->setTo('foo@bar.com');
$message->setFrom('foo@bar.com');
$message->setSubject('Testing');
$message->setBody(
  $mailer->getRealtimeTransport()->getCommand(),
  'text/plain'
);

$mailer->send($message);

...inside一个动作,一切都按预期运行。但是,当我从任务内部运行相同的代码时,我得到一个致命错误- PHP Fatal error: Call to undefined method getCommand -因为SwiftMailer使用的是默认传输类,而不是factories.yml配置中指定的Swift_SendmailTransport类。

你知道为什么symfony任务中没有加载factories.yml配置吗?我该如何着手解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-24 16:59:02

即使您只有一个应用程序,您的任务也不知道要加载哪个应用程序的factories.yml。您需要像这样传递一个应用程序参数:

代码语言:javascript
运行
复制
php symfony namespace:task --application=frontend

要在您的任务中使用默认应用程序,请按如下方式更新配置:

代码语言:javascript
运行
复制
protected function configure()
{
  $this->addOptions(array(
    new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name', 'frontend'),
  ));
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3549110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档