I have this folders structure:
core/
core/db/
core/db/beans
I have classes with namespace AAA\Core\DataBase;
in the core/db/
and in core/db/beans
.
In my composer.json file I have:
"autoload": {
"psr-4": {
"AAA\\Core\\": "core/",
"AAA\\Core\\DataBase\\": "core/db/"
}
}
After that I can use classes from core/
folder with use AAA\Core\DataBase\ClassName;
but can't from core/db/beans
. I received "Fatal error: Class not found". How can I add few folders to the same namespace? Is it possible?
As PSR-4 standard goes:
When loading a file that corresponds to a fully qualified class name
- A contiguous series of one or more leading namespace and sub-namespace names, not including the leading namespace separator, in the fully qualified class name (a "namespace prefix") corresponds to at least one "base directory".
- The contiguous sub-namespace names after the "namespace prefix" correspond to a subdirectory within a "base directory", in which the namespace separators represent directory separators. The subdirectory name MUST match the case of the sub-namespace names.
Therefore, your namespaces must correspond with your folder structure.