Appel à un membre de la fonction a() sur la valeur null symfony2

J'ai 5 classe Categoria, Produto, Subcategoria, Subproduto et Comanda et pour exécuter la recherche dans toutes les classes, j'ai essayer d'en faire un service comme:

espace de noms AppBundle\Controller; 


use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

classe AccessClassController extends Controller{ 

/** 
* Retorna todas comme categorias ativas 
*/
fonction publique CategoriasAtivasAction() 
{ 
$em = $this->getDoctrine()->getManager(); 

$categorias = $em->getRepository('AppBundle:Categoria')->findByAtivo(1); 

return $categorias; 
} 
} 

Et j'essaie d'accéder au service sur ComandaController

classe ComandaController s'étend Contrôleur 
{ 
... 
public function newAction(Request $request, $id) 
{ 
$comanda = new Comanda(); 

$categorias = $this->get('categorias.ativas')->CategoriasAtivasAction(); 
... 

Puis symfony retour d'erreur


Call to a member function has() on null
500 Internal Server Error - FatalThrowableError

Mes services.yml a

 
services: 
categorias.ativas: 
catégorie: AppBundle\Controller\AccessClassController 

Quoi de mal?

  • Vous ne pouvez pas utiliser un Contrôleur (extension de Contrôleur) en tant que service.
  • En fait, vous pouvez aussi longtemps que vous injecter le conteneur. N'a pas beaucoup de sens de le faire. Et dans ce cas, c'est le ComandaController qui est bbeing créé quelque part, sans le conteneur. D'où l'erreur.
InformationsquelleAutor phzao | 2016-08-03