我的 Symfony2 项目中有一个常规类:
class RangeColumn extends Column{
//...
}
现在这个类里面有一个渲染函数,我想在这个函数中使用Twig或者Symfony2的翻译服务来渲染一个特定的模板。如何以正确的方式访问此服务?
最佳答案
代码示例:
<?php
class MyRegularClass
{
private $translator;
public function __construct(Translator $translator)
{
$this->translator = $translator;
}
public function myFunction()
{
$this->translator->trans('sentence_to_translate');
}
}
如果您希望您的类(class)成为一项服务: 在您的包中的 services.yml 文件中,
parameters:
my_regular_class.class: Vendor\MyBundle\Classes\MyRegularClass
services:
mybundle.classes.my_regular_class:
class: %my_regular_class.class%
arguments: [@translator]
有关更多详细信息,请参阅有关 Symfony2 的章节 Service Container
关于php - 在普通类(class)内访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953721/