如何从数据库生成教义实体并使用PSR-4自动加载?



使用带有PSR-4自动加载的Doctrine2.5并将已设计的数据库模式转换为实体类(注释)。问题是将导出的文件获取到正确的目录结构中。

作曲家.json

{
"autoload": {
"psr-4": {
"Application\": "src/"
}
},
"require": {
"doctrine/orm": "^2.5"
}
}

ORM:转换映射

vendor/bin/doctrine orm:convert-mapping 
--namespace='ApplicationEntity' 
--force 
--from-database  
annotation 
src/

运行此命令将在src/中添加一个Application目录。 生成的类文件具有正确的命名空间,但位于 PSR-4 标准的错误目录中。

<?php
namespace ApplicationEntity;
use DoctrineORMMapping as ORM;
/**
* User
*
* @ORMTable(name="user")
* @ORMEntity
*/
class User
{
/**
* @var integer
*
* @ORMColumn(name="id", type="integer", nullable=false)
* @ORMId
* @ORMGeneratedValue(strategy="IDENTITY")
*/
private $id;

}

有没有办法在没有辅助命令的情况下解决这个问题?

我没有看到doctrine cli的任何选项。我只是看到了从应用程序模块修改目录结构的解决方案。在这里我修改composer.json

{
"autoload": {
"psr-4": {
"Application\": "src/Application/"
}
},
"require": {
"doctrine/orm": "^2.5"
}
}

所有Application模块源代码都将放在src/Application不再src/。因此,当doctrine clisrc中创建目录Application/Entity时,它将与 yorpsr-4自动加载器匹配。

相关内容

  • 没有找到相关文章

最新更新