На моей локальной машине разработки (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). У меня также a Shop\Repository\Day
, расположенный по адресу /my/src/Shop/Repository/Day.php.
Однако на моем промежуточном сервере (php 5.3.10) я получаю следующую ошибку:
PHP Неустранимая ошибка: нельзя использовать Shop\Entity\Day как Day, потому что имя уже используется в /my/src/Shop/Repository/Product.php в строке 5
Я могу понять сообщение, если я перечислил псевдоним моего магазина \Entity\Day для DayEntity, код работает. Но я не могу понять причину фатальной ошибки: почему это работает на php 5.3.14 (или, по крайней мере, с моей конфигурацией), а не с 5.3.10 (или, по крайней мере, с конфигурацией сервера)?
Я думаю, проблема в том, что в пространстве имен Shop\Repository
уже загружен Day
. Но это никогда не приводило к ошибкам в моей настройке! Что происходит?