编写器自动加载几个路径作为一个命名空间


Composer autoload few paths as one namespace

我有这样的文件夹结构:

core/
core/db/
core/db/beans

我在core/db/core/db/beans中有namespace AAA'Core'DataBase;的课程。

在我的作曲家。json文件我有:

"autoload": {
        "psr-4": {
            "AAA''Core''": "core/",
            "AAA''Core''DataBase''": "core/db/"
        }
    }

之后,我可以使用类从core/文件夹与use AAA'Core'DataBase'ClassName;,但不能从core/db/beans。我收到"致命错误:未找到类"。如何将几个文件夹添加到同一个名称空间?这可能吗?

按照PSR-4标准:

当加载与完全限定类名对应的文件时

  1. 在完全限定类名("命名空间前缀")中,一个或多个前导命名空间和子命名空间名称(不包括前导命名空间分隔符)的连续系列至少对应一个"基目录"。
  2. 在"命名空间前缀"之后的连续子命名空间名称对应于"基目录"中的子目录,其中命名空间分隔符表示目录分隔符。子目录名称必须与子命名空间名称的大小写匹配。

因此,您的命名空间必须与您的文件夹结构相对应。

PSR-4标准