2016-05-12 14 views
1

In einem 5.2 Projekt wurde der NATNANMAC GUID Generator von GitHub für Laravel geladen."Klasse" nicht gefunden

Ich kann, wie es innerhalb einer Blade-Ansicht aufrufen:

<?php $myguid = GUID::generate(); ?> 
{!! $myguid !!}<br /> 

und es erzeugt eine GUID nur in Ordnung. Wenn ich versuche, es zu benutzen, in einem Controller wie:

public function generateGUID() 
{ 
    $newguid = GUID::generate(); 
} 

wirft es einen

FatalErrorException in MainController.php line 86: 
Class 'App\Http\Controllers\GUID' not found 

Ich habe das Gefühl, es ist eine use Klausel mir fehlt, haben aber keine Ahnung, was.

Irgendwelche Gedanken?

+0

Versuchen Sie 'nathanma \ GUID zu verwenden;' –

Antwort

1

Es wird versucht, die Klasse innerhalb des Namensbereichs App\Http\Controllers zu finden. Versuchen Sie

public function generateGUID() 
{ 
    $newguid = \GUID::generate(); 
} 
+0

Das korrigierte das Problem. Aber warum würde es ohne das führende "\" in der Ansicht funktionieren, aber nicht den Controller? –

+2

Da die Ansicht nicht unter einem Namespace liegt, sucht PHP nach der Klasse im globalen Namespace. Der Controller befindet sich dagegen in einem Namespace, wenn Sie eine Klasse im globalen Namespace verwenden wollen, müssen Sie explizit darüber sein. Schauen Sie sich http://php.net/manual/en/language.namespaces.faq.php an – scrubmx