У меня странное поведение при объявлении класса. PHP
позвольте мне не объявлять класс, потому что он думает, что он уже объявлен.
Я дважды и трижды проверил вывод get_declared_classes()
и это точно не заявлено.
Итак, я написал небольшой тест:
namespace ConversioIt\Cms\Library\Core\Presentation\Component\Login\PublicBackend\Main;
use ConversioIt\Cms\Library\Core\Presentation\Component\Base\PresentationModel;$classname = 'ConversioIt\Cms\Library\Core\Presentation\Component\Login\PublicBackend\Main\Model';
if (class_exists($classname)) {
return;
}
var_dump(class_exists($classname));class Model extends PresentationModel {
}
var_dump(class_exists($classname));
Выход:
bool (false) bool (true)
Неустранимая ошибка: невозможно переопределить класс
ConversioIt \ Cms \ Library \ Основные \ Презентация \ Component \ Логин \ PublicBackend \ Main \ Model
в
C: \ Inetpub \ Wwwroot \ Dev \ Library \ Presentation \ Component \ Логин \ PublicBackend \ Main \ Model.php
на линии 21
Я также дважды проверил, что есть уникальный Model
в пространстве имен ConversioIt\Cms\Library\Core\Presentation\Component\Login\PublicBackend\Main\
,
Если бы это была ошибка кодирования, я бы ожидал bool(false) bool(true) bool(true)
, Также я бы ожидал return
заявление вернется, в этом случае.
Это моя конфигурация:
8.5.9600.16384
5.5.10
Я также попытался сбросить серверный процесс с помощью iisreset
Так как в прошлом у меня был большой успех, возникли странные проблемы.
Так где моя ошибка? Как я могу объявить мой класс?
Задача ещё не решена.
Других решений пока нет …