Ver Mensaje Individual
  #18 (permalink)  
Antiguo 24/03/2012, 02:41
chemajmb
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Empezando con Doctrine 2.2.1

Cita:
Iniciado por GatorV Ver Mensaje
Pues creo que sería una pérdida de performance el cargar todo Doctrine si no lo vas a usar, es mejor que tuvieras una clase que se encargue de levantar el Doctrine, y que esta sea usada por los modelos por necesidad, ya que no todos los modelos van a necesitar Doctrine pero sí muchos van a ocuparlo.

Saludos.
Ok, entiendo y comparto contigo todo menos la parte de que "no todos los modelos van a necesitar Doctrine".
¿ La clase para levantar Doctrine es esta ?
Código PHP:
<?php

use DoctrineORMToolsSetup;
use 
DoctrineORMEntityManager;

require_once 
'Doctrine/Common/ClassLoader.php';

$loader = new DoctrineCommonClassLoader("Doctrine");
$loader->register();

$dbParams = array(
    
'driver' => 'pdo_mysql',
    
'user' => DB_USER,
    
'password' => DB_PASS,
    
'dbname' => DB_NAME
);
$path = array( DIR_ENTIDADES );
$config Setup::createAnnotationMetadataConfiguration($pathtrue);
$entityManager EntityManager::create($dbParams$config);

?>
¿ o te refieres a otra clase ?

Cita:
Iniciado por masterpuppet Ver Mensaje
Comprueba tu entity, las claves foráneas se mapean a través de las relaciones, osea la propiedad $fkidcategoria no es necesaria y algo que no veo claramente, a que se refieren con relacionar el modelo con el em ?

Y tal cual lo tienes lo mas sencillo seria guardar el em en el registro, luego a traves de este haces el pull cuando lo necesites.

Saludos.
Si si, ;) muy atento pero es que un amigo me dijo que el tenia ambas, aunque pense en preguntarle por que y cuando lo usaba, al final se me olvido hacerlo. Pero el esta trabajando desde hace 6-7 años ya y es un buen consejero. De todas formas se lo preguntare. Ya se que para consultar la fkidcategoria si mapeo la relacion lo haria de la forma $categoriapadre->id en vez de $fkidcategoria, pero el me dijo que usaba ambas y por eso puse la relacion y la clave foranea como tal.

El registro lo utilizo para pasarle los datos a la vista. En el constructor del controlador y de la vista le paso la referencia al registro para que ambos puedan acceder a sus variables. Asi desde el controlador guardo en cualquier momento los datos $this->_regs->titulo y en la vista antes de hacer un include de la plantilla .phtml cargo las variables
Código PHP:
foreach ($this->_regs as $key => $value)
            {
                $
$key $value;
            } 

Cita:
Iniciado por masterpuppet Ver Mensaje
Es que esa parte es la que no veo, si se refieren a que una categoría como la que expone chemajmb utilice el em, no me parece lo correcto, es mas creo que debe ser todo lo contrario, no debería saber siquiera de la existencia de un mecanismo de persistencia, ahora si se refieren a un servicio o un mapper que haga uso del em ahi si estaria de acuerdo.

@chemajmb, model y entity son cosas diferentes y deberían ser clases separadas, personalmente lo utilizo de esta forma, el "problema" de esto es que por cada modelo que persiste vas a tener 3 clases, la ganancia, el modelo es completamente libre de la persistencia, igual te sugiero que como estas empezando trabajes directamente con entities para no liarte.

Saludos.
Quieres decir que en vez de tener 2 o 3 clases por cada entidad de mi proyecto, mejor hacer la logica de negocio, osea el modelo, los metodos que necesito para funcionar, en las entidades propias de doctrine ? para simplificar todo un poco ?

Tengo que marchar, luego vengo le doy un repaso y comento algo si me he dejado sin comentar.
Un saludo

Última edición por chemajmb; 24/03/2012 a las 03:00