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;
}
2次コマンドなしでこれを解決する方法はありますか?