Jejeje, muchas gracias por la ayuda campeon!!
Al final mi lanzador de doctrine ha quedado asi:
Código PHP:
Ver original<?php
require_once 'Doctrine/Common/ClassLoader.php';
$loader = new \Doctrine\Common\ClassLoader("Doctrine");
$loader->register();
$loader = new \Doctrine\Common\ClassLoader('Entidad', DIR_RAIZ . 'modelos' );
$loader->register();
$loader = new \Doctrine\Common\ClassLoader('Repositorio', DIR_RAIZ . 'modelos');
$loader->register();
?>
Lo ejecuto en mi lanzador de la aplicacion:
Código PHP:
...
require_once DIR_APLICACION_PRINCIPAL . 'Contenedor.php';
require_once DIR_APLICACION_PRINCIPAL . 'DoctrineLanzador.php';
Lanzador::run(new Peticion, new Contenedor);
...
Y las carpetas las he organizado en modelos:
Código:
mi proyecto
aplicacion
librerias
modelos
entidad
manejadores
repositorio
privada
aplicacion
controladores
librerias
publico
css
html
img
js
vistas
publica
aplicacion
controladores
librerias
publico
css
html
img
js
vistas
Privada y publica son los modulos, estoy haciendo una tienda virtual con parte de gestion y parte publica.
Me ha funcionado a la primera por lo cual estoy bastante contento, pero cuando me he puesto con los repositorios, me sale un error. A ver si sabes que puede ser
Código PHP:
Ver original<?php
namespace Repositorio;
use Doctrine\ORM\EntityRepository;
class categoriaRepositorio extends EntityRepository
{
public function findPrincipales()
{
$query = $this->_em->createQuery('SELECT c FROM Entidad\Categoria c WHERE c.padrecategoria = null');
return $query->getResult();
}
}
?>
La clase manejador
Código PHP:
Ver original<?php
require_once 'claseManejador.php';
class categoriaManejador extends claseManejador
{
protected $em;
protected $class;
protected $repository;
public function __construct(\Doctrine\ORM\EntityManager $em, $class)
{
parent::__construct($em,$class);
}
public function findDeletedCategorias()
{
return $this->getRepository()->findDeletedCategorias();
}
public function findPrincipales()
{
return $this->getRepository()->findPrincipales();
}
}
?>
Extiende esta otra clase manejador principal:
Código PHP:
Ver original<?php
class claseManejador
{
protected $_em;
protected $_class;
protected $_repository;
public function __construct(\Doctrine\ORM\EntityManager $em, $class)
{
$this->_em = $em;
$this->_class = $class;
}
public function findAll($field = null, $value = null)
{
return $this->getRepository()->findAll($field, $value);
}
public function findOneBy($field, $value)
{
return $this->getRepository()->findOneBy($field, $value);
}
public function getRepository()
{
return $this->_em->getRepository($this->_class);
}
}
?>
El error que me da es este:
Código:
[Syntax Error] line 0, col 59: Error: Expected Literal, got 'null'
¿ Como puedo investigar o analizar mas profunda o detalladamente los errores ?
Un saludo.