我的错误:
ContextErrorException:Catchable Fatal Error:传递给的参数1 Agc \ ManagerBundle \ Lib \ grafica :: __ construct()必须实现接口 Symfony \ Component \ DependencyInjection \ ContainerInterface,没有给出, 呼唤 C:\瓦帕\ WWW \伽利略\ SRC \ AGC \ BackendBundle \控制器\ DefaultController.php 在第20行并在中定义 C:\ wamp \ www \ galileo \ src \ Agc \ ManagerBundle \ Lib \ grafica.php第10行
我的班级grafica:
<?php
namespace Agc\ManagerBundle\Lib;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* @Route(service="srv_grafica")
*/
class grafica
{
private $container, $conn, $bdnmgi;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
$this->conn = $this->getConn();
$this->bdnmgi = $this->getBd();
}
public function getConn(){
return $this->container->get('database_connection');
}
public function getBd(){
return $this->container->get('security.context')->getToken()->getUser()->getAdministracion()->getNombreEsquemamgi();
}
\ ManagerBundle \资源\配置\ services.yml
services:
srv_grafica:
class: Agc\ManagerBundle\Lib\grafica
arguments:
- '@service_container'
我的DefaultController:
class DefaultController extends Controller
{
public function dashboardAction(Request $peticion)
{
$em = $this->getDoctrine()->getManager('customer_1');
$user= $this->get('security.context')->getToken()->getUser();
$esquema = $user->getAdministracion()->getNombreEsquemamgi();
var_dump($esquema);
$grafica = new grafica();
答案 0 :(得分:0)
您需要将容器传递给您的服务,在一个示例下面如何在您的services.yml中执行此操作
services:
srv_grafica:
class: Agc\ManagerBundle\Lib\grafica
arguments:
- '@service_container'
答案 1 :(得分:0)
那是错的:
$grafica = new grafica();
应该是:
$grafica = $this->get('srv_grafica');