Laravel 5,检查是否在容器中注册了类

Sil*_*sio 9 laravel laravel-5

有没有办法检查Laravel 5中是否存在类?

我为Laravel 4提供了这个解决方案:尝试创建一个特定的类,如果我得到了一个ReflectionException,我会使用泛型类.
在Laravel 5看起来我无法拦截ReflectionException并且我得到了"哎呀".

我想知道是否有更好的方法来做到这一点.

try {
    $widgetObject = \App::make($widget_class);
} catch (ReflectionException $e) {
    $widgetObject = \App::make('WidgetController');
    $widgetObject->widget($widget);
}
Run Code Online (Sandbox Code Playgroud)

luk*_*ter 8

你为什么不只使用PHP函数class_exists

if(class_exists($widget_class)){
    // class exists
}
Run Code Online (Sandbox Code Playgroud)


Ade*_*ayo 5

通过执行以下操作检查您的类是否设置为绑定

app()->bound($classname);
Run Code Online (Sandbox Code Playgroud)