A non-empty PSR-4 prefix must end with a namespace separator
I'm trying to setup PSR-4 with Composer but I'm just getting A non-empty PSR-4 prefix must end with a namespace separator.
My autoload
in my composer.json
looks like this:
"autoload": {
"psr-4": {
"Acme\\models" : "app/models"
}
},
app/models
is empty.
What am I doing wrong? How can I fix this?
Solution 1:
Someone made a comment but removed it. He mentioned I was missing \\
at the end of Acme\\models
. Acme\\models\\
will get rid of the message and work as it should.
Solution 2:
As others said PSR-4 requires the trailing slash
Though I had to convert /
to \\
in Windows (should work fine on Linux):
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},