将Doctrine orm:generate-entities与名称空间一起使用

时间:2019-01-31 06:17:21

标签: php database orm doctrine-orm doctrine

我正在尝试使用MySQL在一个简单的REST API应用程序中设置Doctrine 2.6。我也是Doctrine或ORM的新手,但对PHP却不是新手。

一切正常可用,我从一个简单的User类开始,它位于

entities/User.php

<?php
namespace MyApp\Entities;

/**
 * @Entity
 * @Table(name="user")
 */
class User
{
    /**
     * @Id
     * @GeneratedValue
     * @Column(type="smallint")
     */
    private $id;
}

我的Bootstrap配置:


// Setup Doctrine
$configuration = Setup::createAnnotationMetadataConfiguration(
    $paths = [__DIR__ . '/entities'],
    $isDevMode = true
);

我要运行以生成吸气剂和吸气剂

php vendor/bin/doctrine orm:generate-entities ./entities/

...它会生成我所期望的类,但它们最终以entities/MyApp/Entities/User.php结尾。

现在,我不确定是否要命令更新原始文件(entities/User.php),该文件会向其中添加吸气剂和设置器并保留批注,还是最好保留“源”文件的完整性并生成一个单独的文件以在应用程序中使用。后者不保留注释,仅包含phpdoc注释。

无论哪种方式,我都希望将生成的文件保存在MyApp/Entities/子文件夹之外,或者将其保存在entities/User.php或类似generated_entities/User.php的文件夹中(并使用作曲家的自动加载器加载它们(在正确的名称空间中),但orm:generate-entities始终输出深度嵌套的文件。有没有办法配置命令或原则来避免它?

0 个答案:

没有答案