2017-01-30 5 views
0

Ich habe ein Paket erstellt, das einen Ordner im Stammverzeichnis des Projekts erstellt. Das Erstellen im App-Ordner ist für mich nicht sauber genug. Weil ich nicht möchte, dass es so aussieht, als wäre es mit dem Laravel-Framework verschmolzen. Dieses Paket ist für unsere Firma und wird viel benutzt werden.Autoload-Ordner ohne die Datei composer.json zu ändern - Laravel 5.4

Also, anstatt die composer.json Datei jedes Mal zu ändern, um den Ordner zum Autoloader hinzuzufügen, versuche ich, ihn einfach aus dem Paket zu laden.

Ist so etwas möglich und wie?

+0

Für Leute Downvoting, bitte erklären, was Sie nicht über die Frage verstehen damit ich es bearbeiten kann. –

Antwort

0

Sie sagen, dass Sie nicht möchten, fügen Sie es in Ihrer composer.json Datei hier hinzu?

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
     "Company\\": "company/" 
    } 
}, 

Das ist, was ich tun würde.


Was ist, wenn Sie nur die Ordnerstruktur als Autoloader-Namespace verwenden? Das sollte funktionieren. Zum Beispiel:

<?php 

use Company\Foo; 

new Bar(); 

Wo Sie einen Ordner haben würden genannt company/Foo mit allen Klassen in ihren Namensraum deklarieren wie so:

<?php 

namespace Company\Foo; 

class Bar { 
    // 
} 
+0

Das ist die Sache, die ich nicht will. Kann ich den Unternehmensordner aus meinem Paket automatisch laden, entweder mit der Composer-Datei des Pakets oder mit einem Code? Das ist meine Frage :) –

+0

Siehe bearbeitete Antwort. –