名称空间定义的使用namespace关键字声明命名空间。包含命名空间的文件必须在任何其他代码之前在文件顶部声明命名空间 - 有一个例外:declare关键字。
php手册
是否可以为整个目录提供命名空间而无需在每个单独文件的开头声明命名空间?
答案 0 :(得分:3)
直接回答是否定的。您可以为单个文件声明多个名称空间,但不能使用单行语句将单个名称空间声明为多个文件。您必须在每个文件中执行此操作。
答案 1 :(得分:2)
目录中的所有类都可以使用相同的命名空间,但是您仍然必须在每个类文件中声明命名空间,例如,如果您有目录结构:
/App/Core/
该文件夹中的所有类都可以具有相同的命名空间:
FileA.php
<?php
namespace App\Core;
class FileA {}
FileB.php
<?php
namespace App\Core;
class FileB {}
根据您使用的代码编辑器,您可以自动执行更新所有文件的过程,这样您就不必这样做了。
答案 2 :(得分:1)
没有。理想情况下,同一目录中的文件应该“服从”一个名称空间。但是......
命名空间层次结构通常会镜像目录层次结构 类文件所在的位置,但这不是严格的 需求。例如,你可以有几个类flles 同一目录中的不同命名空间。