2017-03-26 2 views
0

ich sehe, dass meine Abhängigkeit VerwendungAutoloader nicht in der Lage, die Abhängigkeit zu laden

"autoload": { 
    "psr-4": {"Ion\\": "src/"} 
} 

Und am src/Containern Ordner

<?php 
namespace Ion; 

class Container 

Und ich versuche, es zu laden, um den Autoloader mit (natürlich I habe composer require die Bibliothek)

<?php 
require 'vendor/autoload.php'; 

use Ion\Container; 

$ion = new Container(); 

Aber es stellt sich heraus, ein fataler Fehler sein
Fatal error: Uncaught Error: Class 'Ion\Container' not found in C:\UniServerZ\www\projects\playground\ion\test.php on line 6

Was ist daran falsch? Wie auch immer, um es zu reparieren?
Bitte helfen

Dies ist das Paket (was ich Code): https://packagist.org/packages/terrydjony/ion

+0

Composer require wird Ihr Paket in/Vendor/Ordner installieren. Stellen Sie sicher, dass Ihr Paket in diesem Ordner installiert ist. Sie müssen diese Autoload-Anweisung möglicherweise nicht in composer.json hinzufügen. – r4ccoon

+0

Wenn Sie etwas Neues in Autoload-Datei haben, dann versuchen Sie folgenden Befehl. php -dump autoload –

Antwort

0

ich Ihr Paket und beheben das Problem heruntergeladen haben. Eigentlich müssen Sie Ihre Datei in einem Ordner namens Ion platzieren. Es sollte src/Ion/Container.php statt ion/src/Container.php sein.

+-- src 
| +-- Ion 
|  +-- Container.php 
+-- vendor 
+-- composer.json 

Ein weiterer kleiner Fehler, den Sie, ist Ihre Klasse gemacht Dateinamen in Klein container.php aber Sie definiert es in Großbuchstaben geschrieben.

class Container 
{ 

} 
+0

Was, wenn ich nur die Datei in 'src/Container.php' lassen möchte? Kann ich '" b-4 ": {" ":" src/"}' –