“使用<classname>;”的目的是什么?在PHP?</classname>

时间:2013-08-22 04:18:40

标签: php import namespaces

use关键字的重点是什么,与below code中的use FooInterface;一样?

namespace Vendor\Package;

use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

class Foo extends Bar implements FooInterface
{
    public function sampleFunction($a, $b = null)
    {
        if ($a === $b) {
            bar();
        } elseif ($a > $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // method body
    }
}

这不是多余的吗?

1 个答案:

答案 0 :(得分:3)

如果没有该子句,您的代码将如下所示:

class Foo extends Bar implements \FooInterface
                                 ^

注意领先的反斜杠?这是必需的,因为您位于Vendor\Package命名空间中,因此对全局命名空间的任何引用都必须以\开头,除非它已导入。

manual中也对此进行了解释。