2017-06-12 84 views
1

使用Doctrine 2.5與PSR-4自動加載並將已設計的數據庫模式轉換爲實體類(註釋)。問題是將導出的文件放在正確的目錄結構中。如何從數據庫生成Doctrine實體並使用PSR-4自動加載?

composer.json

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

ORM:轉換映射

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

運行此命令將在src/添加Application目錄。 生成的類文件具有正確的名稱空間,但在PSR-4標準的錯誤目錄中。

<?php 

namespace Application\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* User 
* 
* @ORM\Table(name="user") 
* @ORM\Entity 
*/ 
class User 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 


} 

有沒有辦法解決這個沒有二級命令?

回答

0

我沒有看到doctrine cli這個需求的任何選項。我只是看到解決方案來修改您的應用程序模塊的目錄結構。在這裏,我修改composer.json

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

所有Application模塊的源代碼將在src/Applicationsrc/放了。因此,當doctrine cli創建目錄Application/Entitysrc時,它將與yor psr-4自動加載器相匹配。

相關問題