2017-09-08 1 views
0

Hier ist meine Dateistruktur (Laravel 5,2)neue Instanz der Klasse in anderen Namespace PHP

/app/http/middleware/Site.php (Datei eins)

/resources/Ansichten/Layouts/Automotive /text/DefaultText.php (Datei zwei)

ich habe die erste Datei Namespace bei App\Http\Middleware

ich möchte eine neue Instanz der Klasse DefaultText (Datei zwei) aus einer Datei erstellen.

tun dies nicht funktioniert:

$config_class = "\\Resources\\Views\\Layouts\\Automotive\\Text\\DefaultText"; 
new $config_class(); 

Und das funktioniert auch nicht:

$config_class = "\\resources\\views\\layouts\\Automotive\\text\\DefaultText"; 
new $config_class(); 

In beiden Fällen heißt es:

Class '\Resources\Views\Layouts\Automotive\Text\DefaultText' not found 

Wie kann ich dies tun ?

+2

Es kann viele Gründe geben, warum. 1. Sie haben den '/ resources'-Ordner, der einem Namespace zugeordnet werden soll, nicht im '' autoload ': {" psr-4 ": {...}}' -Teil in Ihrer composer.json hinzugefügt. 2. Sie haben Ihrer DefaultText-class-Datei den richtigen Namespace nicht hinzugefügt. 3. Sie verwenden nicht dasselbe Gehäuse (die Ordnernamen und der Namespace müssen dasselbe Gehäuse enthalten). –

+0

Danke, ich werde versuchen, das Autoload hinzuzufügen, das habe ich nicht gemacht. – Bryce

+0

Das war es !! Ich danke dir sehr! – Bryce

Antwort

0

Ich musste den /resources Ordner hinzufügen, der einem Namespace im "autoload": { "psr-4": { ... }} Teil meiner composer.json Datei zugeordnet werden soll.

Vielen Dank Magnus Eriksson für die Hilfe!

Verwandte Themen