2

我想将学说 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\,它会给我消息'从未导入类 User\Entity\User 中的注释“@Entity”。您是否可能忘记为此注释添加“使用”语句?

4

1 回答 1

2

namespace User;你的第一行module.config.php__NAMESPACE__当您使用常量时,应该定义一个命名空间......

于 2012-10-22T21:40:05.880 回答