Ein nicht leeres PSR-4-Präfix muss mit einem Namespace-Trennzeichen enden


87

Ich versuche, PSR-4 mit Composer einzurichten, aber ich bekomme gerade A non-empty PSR-4 prefix must end with a namespace separator.

Mein autoloadin meinem composer.jsonsieht so aus:

"autoload": {
    "psr-4": {
        "Acme\\models" : "app/models"
    }
},

app/models ist leer.

Was mache ich falsch? Wie kann ich das beheben?

Antworten:


168

Jemand hat einen Kommentar abgegeben, ihn aber entfernt. Er erwähnte, dass ich \\am Ende vermisst wurde Acme\\models. Acme\\models\\wird die Nachricht loswerden und so arbeiten, wie es sollte.


6
Ja, PSR-4erfordert den abschließenden Schrägstrich. (gut doppelt, da es entkommen muss)
Connor Tumbleson

3
Ich muss sagen, dass dies nicht nur eine dumme Anforderung ist, die Spezifikation macht auch extrem deutlich, dass dies der Fall ist. Daher tauche ich hier für ein sehr grundlegendes Thema auf.
Aross

18
Nachdem ich diese Antwort verwendet habe, habe ich auch festgestellt, dass composer validatesie Ihnen auch einen guten Hinweis darauf gibt, was falsch ist.
Dave

Dies führt zu Problemen bei der Verwendung des Repository-Typpfads relativ, symlinked, da anscheinend versucht wird, symlink unmittelbar nach diesem Vorgang neu zu erstellen, und composer.json
FantomX1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.