<?php
namespace B{
    class TestB
    {
        public function b()
        {
            $testa = new \a\TestA();
            return $testa->a();
        }
    }
}
namespace A {
    class TestA
    {
        public function a()
        {
            return 'PHP Namespace is not case sensitive';
        }
    }
}
namespace C {
    $testb = new \b\TestB();
    echo $testb->b();
    echo "\n";
    echo 'namespace '.__NAMESPACE__;
}

output:

PHP Namespace is not case sensitive
namespace C

----------------------------------2-----------------------------------

<?php
//file path /A/TestA.php
namespace A;
class TestA
{
    public function a()
    {
        return 'a';
    }
}
<?php
// file path /a.php
namespace B;
use A\TestA;

include 'A/TestA.php'; //要注意的是命名空间只起申明作用,也就是在使用了命名空间的时候依然得把这个命名空间申明的那个文件包含进来。

$b = new TestA();
echo $b->a();
echo '<br/>'.TestA::class;

output:

a
A\TestA