为什么 class_exists 函数返回 false?

sap*_*Pro 3 php

在下面的脚本中我检查了该class_exists函数。这个函数的范围是什么?false当我测试此类时,它会返回此脚本。

<?php
namespace my;
class Tester {      
    public function check() {
        $classname = 'Tester';
        if(class_exists($classname)) {
            echo "class exists ! <br />";
        } else {
            echo "class doesn't exist ! <br />";
        }
    }
}   

$obj = new Tester();
$obj->check();
Run Code Online (Sandbox Code Playgroud)

输出:类不存在

nic*_*ckb 6

Tester不在全局命名空间中。它在my命名空间中。

这两个都可以工作:

$classname = '\my\Tester';
$classname = 'my\Tester';
Run Code Online (Sandbox Code Playgroud)

  • 好吧,它会检查类名,而您传递的类名是全局命名空间中的类的名称。 (2认同)