2

別のクラスの名前空間内にいる場合、class_existsとともにグローバルクラスが存在するかどうかをどのように確認できますか?例えば:

<?php
namespace Rvdv\Test\Example;

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

ここで、classはグローバルに定義されたクラスです。

4

1 に答える 1

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」が出力されます。したがって、インクルードパスを確認してください。

于 2012-12-05T14:36:51.567 に答える