我试图service container
在我的 Sonata Admin 类中注入它以便在configureFormFields
方法中使用它。这就是我所拥有的:
config.yml(奏鸣曲服务定义)
services:
tan.product.admin.product:
class: Tan\ProductBundle\Admin\ProductAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: Product, label: Product }
arguments: [ null, Tan\ProductBundle\Entity\Product, @service_container]
ProductAdmin.php
class ProductAdmin extends Admin
{
/** @var \Symfony\Component\DependencyInjection\ContainerInterface */
private $container;
public $supportsPreviewMode = true;
/**
* @param string $code
* @param string $class
* @param string $baseControllerName
*/
public function __construct($code, $class, $baseControllerName, $container = null)
{
parent::__construct($code, $class, $baseControllerName);
$this->container = $container;
}
// other methods
protected function configureFormFields(FormMapper $form)
{
$helper = $this->container->get('oneup_uploader.templating.uploader_helper');
$endpoint = $helper->endpoint('products');
$form
->add('product_name', null, array('label' => 'Nombre'))
->add('product_description', null, array('label' => 'Descripción'));
}
}
但我收到了这个错误:
ContextErrorException:可捕获的致命错误:无法将类 appDevDebugProjectContainer 的对象转换为 /var/www/html/tan/var/cache/dev/classes.php 第 12979 行中的字符串
那里有什么问题?