我想将doctrine 2与zf2集成在一起。我遵循本教程:http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/
但我对学说cli有一些问题。
当我输入“project \ vendor \ doctrine \ doctrine-module \ bin \ doctrine-module orm:generate-proxies”时,它会显示以下消息:'没有要处理的元数据类'。
这是我的module.config.php文件:
return array(
'controllers' => array(
'invokables' => array(
'User\Controller\User' => 'User\Controller\UserController',
),
),
'view_manager' => array(
'template_path_stack' => array(
'user' => __DIR__ . '/../view',
),
),
'router' => array(
'routes' => array(
'user' => array(
'type' => 'segment',
'options' => array(
'route' => '/user[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'User\Controller\User',
'action' => 'userList',
),
),
),
),
),
// Doctrine config
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
)
)
)
)
);
这是\ User \ src \ Entity \ Users.php
namespace User\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Annotations\AnnotationRegistry;
/**
* @ORM\Entity
* @ORM\Table(name="user")
* @property string $username
* @property int $id
*/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @var int
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $username;
}
如果我从注释中删除ORM \,它会向我提供消息'注释'@Entity“类User \ Entity \ User从未导入。您是否忘记为此注释添加“使用”声明?'
答案 0 :(得分:2)
将namespace User;
放在module.config.php
的第一行。
在使用__NAMESPACE__
常量...