PHP Composer Autoloader die Klasse nicht Gefunden Ausnahme
Titel spricht selbst. So hier ist mein Projekt Struktur:
|src
|Database
|Core
|MySQL.php
|Support
start.php
|vendor
composer.json
index.php
MySQL.php Datei:
<?php
namespace Database\Core;
//Some methods here
index.php und start.php Dateien:
//start.php file
<?php
require __DIR__ . '/../vendor/autoload.php';
?>
//index.php file
<?php
use Database\Core;
require __DIR__ . '/src/start.php';
$mysql = new MySQL(); //Gets exception Class 'MySQL' cannot found etc.
?>
Und endlich, mein Komponist.json-autoload-Teil:
"autoload": {
"psr-4": "Database\\": "src/" //Also tried "src/Database" too
}
Wo ist das problem? Ich bin wirklich müde von versuchen zur Bewältigung dieser situation. Bitte um Hilfe Jungs! Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie include namespace wenn Sie die Initialisierung einer Klasse:
oder
Sehen Namespaces verwenden: Aliasing - /Importieren
Abgesehen von nicht mit dem richtigen
use
- Anweisung wie schon erwähnt, PSR-4 nicht funktioniert. Es ist mehr ein alias. Sie sind im wesentlichen sagen, dasssrc
gleichDatabase
. So haben Sie ein Verzeichnis namensDatabase
in es würde bedeuten, dass den vollqualifizierten namespace + Klasse gleich 'Database\Database\Core\MySQL`. Sie verwenden möchten, PSR-0 in diesem Fall, oder passen Sie Ihre PSR-4 definition.namespace AcmeBaseball\Database\Core;
und Komponist.json"psr-4": "AcmeBaseball\\": "src/"
Sie erkennen dies, wenn Sie einen Komponisten-Paket wie AWS Php-SDK; öffnen Sie Ihre compser.json und der namespace istAws