【问题标题】:Does use statement order affect functionality in PHP?使用语句顺序会影响 PHP 中的功能吗?
【发布时间】:2016-01-25 07:52:58
【问题描述】:

我使用 PHP 的命名空间已经有一段时间了,我认为它对我的编程来说是一个很好的补充。今天早上我想知道关于use 声明的一些事情。我想知道use 的顺序是否会影响我的 PHP 代码的功能。

根据 PHP.net

使用别名或导入引用外部完全限定名称的能力是命名空间的一个重要特性。这类似于基于 unix 的文件系统创建指向文件或目录的符号链接的能力。

在 PHP 中,别名是通过 use 运算符完成的。

~ 这很糟糕,与包含顺序无关。让我们在 SO 上问我的朋友吧!

示例

下面,我将尝试举一个更好的例子

C 类

namespace Fully\Qualified\Namespace;

use Fully\Qualified\Namespace\B;
use Fully\Qualified\Namespace\A;

class C
{
    // ...
}

B 类

namespace Fully\Qualified\Namespace;

use Fully\Qualified\Namespace\A;

class B extends A
{
    // ...
}

A 类

namespace Fully\Qualified\Namespace;

class A
{
    // ...
}

现在,在我的 use 语句中 B 类包含在 A 类之前是否会给我带来麻烦?

【问题讨论】:

  • 不。另外,使用use时可以省略开头的\。
  • 同意前导反斜杠是官方不鼓励的。
  • 是的,正好是第一个反斜杠,使用命名空间的好处是允许您“包含”多个具有相同名称但路径不同的对象。

标签: php namespaces


【解决方案1】:

当别名命名空间没有时。

当用于 Traits 的类主体时,可能会影响与使用 docblock 注释相关的某些场景。

【讨论】:

    猜你喜欢
    • 2018-04-15
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 2011-05-01
    • 2017-03-22
    • 2011-02-18
    • 2015-04-17
    相关资源
    最近更新 更多