Czy istnieje sposób sprawdzenia, czy klasa istnieje w Laravel 5?Laravel 5, sprawdź czy klasa jest zarejestrowana w kontenerze
Miałem to rozwiązanie dla Laravel 4: spróbuj zrobić konkretną klasę, a jeśli dostanę ReflectionException
, używam klasy ogólnej.
W Laravel 5 wygląda na to, że nie mogę przechwycić ReflectionException
i otrzymuję komunikat "Whoops".
Zastanawiam się, czy jest jakiś lepszy sposób na zrobienie tego.
try {
$widgetObject = \App::make($widget_class);
} catch (ReflectionException $e) {
$widgetObject = \App::make('WidgetController');
$widgetObject->widget($widget);
}
Cóż, może nie użyłem właściwego terminu; klasa oczywiście nie istnieje dla php, dopóki nie zostanie wstrzyknięta przez laravel. App :: make powinien wstrzyknąć klasę lub zwrócić ReflectionError, jeśli nie może złożyć pliku klasy. –
Ale przecież może to działa ... To naprawdę takie proste? Dziękuję Ci! –
Widzę ... Właściwie łapanie 'ReflectionException' powinno działać. Czy może brakuje Ci instrukcji importowania lub ukośnika odwrotnego? '\ ReflectionException $ e' – lukasgeiter