嘿,我正在玩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文件。哪个使用的时间和原因......?
答案 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
。