PHP - 检查命名空间中是否存在全局类

时间:2012-12-05 14:21:36

标签: php class namespaces

如果你在另一个类的命名空间内,如何检查一个全局类是否存在class_exists?例如:

<?php
namespace Rvdv\Test\Example;

class ExampleClass
{
    public function testNamespace()
    {
        // This says that it doesn't exists :(
        print class_exists('\\Test');
    }
}

其中class是全局定义的类。

1 个答案:

答案 0 :(得分:3)

你在其他问题上不得不搞砸了一些东西 - 很可能在这个范围内没有声明类测试(你忘了包括吗?)。我这样测试了这个:

phpcltest2.php:

<?php
class Test { }

phpcltest.php:

<?php
namespace Rvdv\Test\Example;
require 'phpcltest2.php';

class ExampleClass
{
    public function testNamespace()
    {
    print class_exists('\\Test');
    }
}

$nc = new ExampleClass();
$nc->testNamespace();

结果是预期的:它打印出&#34; 1&#34;。因此,请检查您的包含路径。