作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在我的服务构造函数中
public function __construct(
EntityManager $entityManager,
SecurityContextInterface $securityContext)
{
$this->securityContext = $securityContext;
$this->entityManager = $entityManager;
我将 entityManager 和 securityContext 作为参数传递。我的 services.xml 也在这里
<service id="acme.memberbundle.calendar_listener" class="Acme\MemberBundle\EventListener\CalendarEventListener">
<argument type="service" id="doctrine.orm.entity_manager" />
<argument type="service" id="security.context" />
但是现在,我想在诸如
这样的服务中使用容器$this->container->get('router')->generate('fos_user_profile_edit')
如何将容器传递给服务?
最佳答案
如果服务扩展了 ContainerAware,这很容易
use \Symfony\Component\DependencyInjection\ContainerAware;
class YouService extends ContainerAware
{
public function someMethod()
{
$this->container->get('router')->generate('fos_user_profile_edit')
...
}
}
服务.yml
your.service:
class: App\...\YouService
calls:
- [ setContainer,[ @service_container ] ]
关于php - 如何将容器作为服务的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126277/
我是一名优秀的程序员,十分优秀!