不能重新宣布课程,但不能宣布

时间:2015-03-23 17:03:03

标签: php class declaration iis-8

我在声明一个类时有一些奇怪的行为。 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));

输出:

  

布尔(假)布尔(真)

     

致命错误:无法重新声明课程   ConversioIt \ CMS \图书馆\核心\演示\分量\登录\ PublicBackend \ MAIN \型号   在   C:\的Inetpub \ wwwroot的\开发\图书馆\演示\分量\登录\ PublicBackend \ MAIN \ Model.php   在第21行

我还仔细检查了命名空间Model中是否有唯一ConversioIt\Cms\Library\Core\Presentation\Component\Login\PublicBackend\Main\

如果是编码错误,我会期待bool(false) bool(true) bool(true)。在这种情况下,我也会考虑将return语句返回。

这是我的配置:

  • Windows Server 2012 R2
  • IIS 8.5.9600.16384
  • PHP 5.5.10

我还尝试使用iisreset重置服务器进程,因为我过去取得了很大的成功,遇到了奇怪的问题。

那么我的错误在哪里?我怎样才能宣布我的班级?

0 个答案:

没有答案