Symfony3服务容器文档错误

时间:2016-06-10 13:55:17

标签: php symfony

嘿,我正在玩Symfony3,正在阅读有关服务容器的docs。根据文档,服务在app / config / services.yml中声明如下:

# app/config/services.yml
services:
    app.mailer:
        class:        AppBundle\Mailer
        arguments:    [sendmail]

我可以在我的控制器/类中访问它:

<?php

namespace Test\TestBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class HelloController extends Controller
{
    public function sendEmailAction()
    {
        // ...
        $mailer = $this->get('app.mailer');
        var_dump($mailer);die();
//        $mailer->send('ryan@foobar.net', ...);
    }
} 

我做过exacley,但是我收到了这个错误:

You have requested a non-existent service "app.mailer".

在这个简单的例子中我做错了什么我错过了什么。

我还注意到Bundle / Resources / config.srvices.yml下还有另一个service / yml文件。哪个使用的时间和原因......?

1 个答案:

答案 0 :(得分:0)

服务app.mailer似乎不存在。您应该通过在cli:bin/console debug:container app.mailer

中运行此命令来检查它
  

我还注意到Bundle / Resources / config.srvices.yml下还有另一个service / yml文件。哪个使用的时间和原因......?

只有当您的捆绑包与其他应用程序/开源共享时,才应使用Bundle/Resources/config/*。 如果没有,请使用app/config/services.yml