我正在尝试使用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;
}
// 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
始终输出深度嵌套的文件。有没有办法配置命令或原则来避免它?