A ver,
A lo que me refiero con instanciar varias veces el em es a que por ejemplo en este codigo se instancian varias veces el em, tantas veces como veces usas un manejador en tu ejemplo.
Código PHP:
namespace Application/Controller;
class ProductController extends Controller
{
public function showAction()
{
//DiC container, encargado de ensamblar el manager inyectando las dependencias
$product = $this->get('product_manager')->findOneBy('slug', 'my-custom-product');
$category = $this->get('category_manager')->findAll();
return array('product' => $product, 'category' => $category);
}
}
me imagino que $this->get('X_manager') es un metodo de los controladores tipo un autoload, para cargar/instanciar un manager especifico que le pasas como parametro. Asi que devuelve una instancia del manager que le pasas como parametro. Para instanciar el manager en el metodo get, debes de instanciar antes el EM puesto que es parametro obligatorio del constructor del manejador.
Entonces tanto en
$product = $this->get('product_manager') como en
$category = $this->get('category_manager')
instancias 2 veces, una en cada, el entity manager aunque lo hagas con el mismo bootstrap.
¿ o como se hace ?
¿ Voy bien o me pierdo ? heheehe :)
---
Viendo ese ejemplo me surgen otras dudas/preguntas:
1º.-
¿ Las interfaces simplemente se hacen para poder ver rapidamente que metodos se han implementado de un manejador ?
¿ O cual es el por que de su existencia en este ejemplo ?
Ya se que definen comportamientos y tal, se lo que son las interfaces pero quiero tenerlo mas claro.
2º.-
Código PHP:
namespace Application/Entity;
use Application/Model/ProductManagerInterface;
class ProductManager implements ProductManagerInterface
...
¿ Esta bien tener los manejadores en la misma carpeta que las entidades ?
¿ o las entidades las tiene en namespace Application\Entity\Entities; ?
3º.-
Tengo que leer acerca del uso de namespace y use por que no lo tengo claro, lo comprendo, pero no se como aplicarlo bien realmente, ni que pros tiene el usarlo.
Voy a echar un vistazo, pero si podeis darme una pequeña explicacion os estaria agradecido.
Un saludo.
Gracias por vuestros comentarios y vuestra ayuda de verdad.