Índice

Algunos trucos

1. Utilización del @ParamConverter

Con Doctrine, seguramente necesitará recuperar normalmente una entidad en función de un valor presente en la URL.

Para esto, debe recuperar el repositorio de la entidad, realizar la búsqueda y eventualmente, devolver un error 404 si la entidad no se encuentra:

<?php  
  
namespace Eni\DemoBundle\Controller;  
  
use Eni\DemoBundle\Entity\Libro;  
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;  
use Symfony\Bundle\FrameworkBundle\Controller\Controller;  
use Symfony\Component\HttpFoundation\Response;  
  
class DefaultController extends Controller  
{  
   /**  
    * @Ruta("/modificar/{id}")  
    */  
   public function editAction($id)  
   {  
       $em = $this->getDoctrine()->getManager();  
       $repositorio = $em->getRepository(’EniDemoBundle:Libro’);
  
       $libro = $repositorio->find($id);  
       if (!$libro) {   
           throw $this->createNotFoundException(   
               ’Libro no encontrado’  
           );   
       }  
   ...