“;使用<;类名>";在PHP中


What is the purpose of "use <classname>;" in PHP?

use关键字的意义是什么,就像下面代码中的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
    }
}

这不是多余的吗?

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

class Foo extends Bar implements 'FooInterface
                                 ^

注意到前导反斜杠了吗?它是必需的,因为您在Vendor'Package命名空间中,所以对全局命名空间的任何引用都必须以'开头,除非已导入。

手册中也对此进行了说明。