私のローカル開発マシン (php 5.3.14) では、次のようなクラスを使用できます。
<?php
namespace Shop\Repository;
use Shop\Entity\Day;
use Doctrine\ORM\EntityRepository;
class Product extends EntityRepository
{
// Code
}
クラスは /my/src/Shop/Repository/Product.php に保存されます (PSR-0 準拠)。/my/src/Shop/Repository/Day.php にもあります。Shop\Repository\Day
ただし、ステージング サーバー (php 5.3.10) では、次のエラーが発生します。
PHP 致命的なエラー: 5 行目の /my/src/Shop/Repository/Product.php で名前が既に使用されているため、Shop\Entity\Day を Day として使用できません
メッセージを理解できます。Shop\Entity\Day インポートを DayEntity にエイリアスすると、コードが機能します。しかし、致命的なエラーの原因を理解できません: なぜこれは php 5.3.14 (または少なくとも私の構成) で機能し、5.3.10 (または少なくともサーバーの構成) では機能しないのですか?
Shop\Repository
問題は、名前空間に既にDay
ロードされているためだと思います。しかし、これは私のセットアップでエラーにつながることはありません! どうしたの?