如果你在另一个类的命名空间内,如何检查一个全局类是否存在class_exists?例如:
<?php
namespace Rvdv\Test\Example;
class ExampleClass
{
public function testNamespace()
{
// This says that it doesn't exists :(
print class_exists('\\Test');
}
}
其中class是全局定义的类。
答案 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;。因此,请检查您的包含路径。