2017-11-23 1 views
1

Ich habe versucht, Namespaces zum ersten Mal seit Ewigkeiten zu verwenden, und ich laufe auf das folgende Problem. Ich bin derzeit Composer für einen PSR-4-Autoloader und ich erhalte die Fehlermeldung: Fatal error: Class 'API\Library\Config' not found in C:\wamp64\www\project\src\index.php on line 14Schwerwiegender Fehler: Klasse nicht gefunden, wenn Namespaces verwendet werden

composer.json

"autoload": { 
    "psr-4": { 
     "API\\": "src", 
     "API\\Library\\": "src/Library", 
     "API\\Controllers\\": "src/Application/Controllers" 
    } 
} 

src/index.php

namespace API; 
include_once('vendor/autoload.php'); 
use API\Library\Config; 
$config = new Config(); //line 18 

Die Ordner-Layout ist als solches:

folder layout

+1

abgeholt werden Haben Sie „$ Komponist Dump-Autoload“ neu zu erzeugen, um die Datei automatisch geladen versuchen? – dferenc

+0

ja ich tat, tut mir leid, ich werde OP aktualisieren, um zu bestätigen –

Antwort

2

Da src der übergeordnete Ordner ist. Idealerweise befindet sich der Hersteller im selben Verzeichnis wie src.

"autoload": { 
    "psr-4": { 
     "API\\": "", 
     "API\\Library\\": "Library", 
     "API\\Controllers\\": "Application/Controllers" 
    } 
} 

Würde funktionieren, oder Sie sollten Ihre Verzeichnisse neu strukturieren.

Sie können auch "API\\Library\\": "Library", auslassen, wie es von "API\\": "",

+0

scheint zu arbeiten, dachte nicht über die Position des Verkäufers ein Problem, so danke! –

+1

np, leichter Fehler und wir alle waren da :) –

Verwandte Themen