声明命名空间

名称空间声明可以如下所示:

  • namespace MyProject; - 声明命名空间 MyProject
  • namespace MyProject\Security\Cryptography; - 声明嵌套的命名空间
  • namespace MyProject { ... } - 使用括号括起来声明命名空间。

建议只为每个文件声明一个命名空间,即使你可以在单个文件中声明任意多个:

namespace First {
    class A { ... }; // Define class A in the namespace First.
}

namespace Second {
    class B { ... }; // Define class B in the namespace Second.
}

namespace {
    class C { ... }; // Define class C in the root namespace.
}

每次声明命名空间时,之后定义的类都属于该命名空间:

namespace MyProject\Shapes;

class Rectangle { ... }
class Square { ... }
class Circle { ... }

命名空间声明可以在不同的文件中多次使用。上面的示例在单个文件中的 MyProject\Shapes 命名空间中定义了三个类。优选地,这将被分成三个文件,每个文件以 namespace MyProject\Shapes; 开头。这在 PSR-4 标准示例中有更详细的解释。