2012-12-05 115 views
2

如果您位於另一個類的名稱空間內,如何檢查全局類是否與class_exists一起存在?例如:PHP - 檢查名稱空間內是否存在全局類

<?php 
namespace Rvdv\Test\Example; 

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

其中class是全局定義的類。

+0

我不確定我是否理解你的問題......請你更精確地解釋一下嗎? – shadyyx

回答

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(); 

結果預期:它打印出 「1」。所以檢查你的包含路徑。

+0

這確實是另一個問題。編寫include腳本的人,命名爲Test()函數。所以我認爲,看到首都,這是一個階級,而不是一個功能。我將class_exists替換爲function_exists,並且所有內容都按預期工作。感謝您的幫助! – robinvdvleuten

相關問題