Al configurar ZF2 + ODM, estoy recibiendo el siguiente error:Zend Framework 2 + Doctrine ODM, "¿No se encontró la clase en el espacio de espacios configurado de la cadena"?
The class 'Application\Document\User' was not found in the chain configured namespaces
La configuración actual es la siguiente:
ZF2 estable, doctrina instalado ODM a través de composer.phar con el contenido del compositor .json
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"minimum-stability": "dev",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.0.0",
"doctrine/doctrine-mongo-odm-module": "dev-master"
}
}
módulos cargados
'modules' => array(
'Application',
'DoctrineModule',
'DoctrineMongoODMModule',
),
hidratante y proxy de directorios se crean
$ ls -l data/DoctrineMongoODMModule/
total 0
drwxrwxrwx 2 wisu staff 68 Sep 12 08:34 Hydrators
drwxrwxrwx 2 wisu staff 68 Sep 12 08:35 Proxy
la configuración del ODM parece
'driver' => array(
'odm_default' => array(
'drivers' => array(
'Application\Document' => 'aplikasi'
)
),
'aplikasi' => array(
'class' => 'Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(
'module/Application/src/Application/Document'
)
)
),
Estoy intentando utilizar el siguiente mapeo
<?php
namespace Application\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
/** @ODM\Document(collection="user") */
class User
{
/** @ODM\Id */
private $id;
/** @ODM\Field(type="string") */
private $name;
/**
* @return the $id
*/
public function getId() {
return $this->id;
}
/**
* @return the $name
*/
public function getName() {
return $this->name;
}
/**
* @param field_type $id
*/
public function setId($id) {
$this->id = $id;
}
/**
* @param field_type $name
*/
public function setName($name) {
$this->name = $name;
}
}
pero llamándolo a través
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Application\Document\User;
class IndexController extends AbstractActionController
{
public function indexAction()
{
$dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default');
$user = new User();
$user->setName("Gembul");
$dm->persist($user);
$dm->flush();
return new ViewModel();
}
}
Cualquier po Inters?
no creo que la respuesta proporcionada es correcta. ¿Alguien más tiene alguna idea sobre cuál podría ser el problema? – Sam152