对于内部php类或反斜杠“ \”,请在PHP中使用“ use”

时间:2019-09-10 11:00:18

标签: php coding-style conventions

我想知道应用个别约定有什么区别和后果。

我的意思是仅关于DateTime,PDO,Exception等类型的内部类的规则。

<?php

namespace App;

class Foo
{
    public function bar(\DateTime $baz): void
    {
    }
}

vs

<?php

namespace App;

use DateTime;

class Foo
{
    public function bar(DateTime $baz): void
    {
    }
}

一个或另一个解决方案背后的论据是什么?你能说任何解决方案都更好吗?

谁使用“ \”:

  • Symfony
  • Laravel

谁使用“ use”:

2 个答案:

答案 0 :(得分:1)

如果只使用一次导入的类,最好使用\调用该类。

但是,如果您在整个方法中都使用该类,则使用use导入它会更有意义。

这不是特定于框架的,而是取决于大小写的。

使用\的原因是因为当您使用命名空间时,它会尝试从同一命名空间导入类。使用\几乎将名称空间“重置”到顶级。

答案 1 :(得分:-1)

即使您不使用内部类,它也没有任何区别。 导入类时,应避免使用反斜杠,因为路径应该是绝对的

https://www.php.net/manual/en/language.namespaces.importing.php