0
Ich habe eine Schnittstelle Abhängigkeit injizieren Frage, die Fehlermeldung aussehen kann nicht die Klasse zu fangen, haben keine ideale?Laravel Schnittstelle Abhängigkeit injizieren
Fehlermeldung:
FatalThrowableError in UserController.php line 27:
Class 'App\Http\Controllers\App' not found
Mein Ordnerpfad:
UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Domain\Services\Social\SocialService;
use Domain\Services\Social\SocialInterface;
use Domain\Services\Social\Facebook;
class UserController extends Controller
{
public function fb(Request $request)
{
App::bind(SocialInterface::class, Facebook::class);
$target = App::make(SocialService::class);
return $target ->getCallbackData($request);
}
}
SocialService.php
namespace Domain\Services\Social;
class SocialService
{
public function getCallbackData(SocialInterface $social,$request)
{
return $social->getCallbackData($request);
}
}
Facebook.php
namespace Domain\Services\Social;
class Facebook implements SocialInterface
{
public function getCallbackData($request)
{
//Somethig inside...
}
}
danke, es funktioniert! aber, warum sollte ein Schrägstrich fornt es hinzufügen? – Fan
Da Sie ein Objekt im Namespace 'App' aufrufen wollen, haben Sie jedoch in Ihrer Controller-Datei den Namespace' App \ Http \ Controllers' definiert, so dass Laravel versucht, ein Objekt in diesem Namespace zu laden. –