class_exists o getProviders en Laravel 8

@if(class_exists(\Caimari\Members\MembersServiceProvider::class))
    
@endif

Este código verificará si la clase MembersServiceProvider del namespace \Caimari\Members\ existe. Si existe, esto significa que el paquete 'members' está instalado y puedes mostrar los iconos de acceso del panel.

Recuerda que esta es una forma de hacerlo y puede haber otras maneras más adecuadas dependiendo de la estructura de tu proyecto. La clave es que necesitas una forma de verificar la presencia del paquete, y la comprobación de la existencia de una clase específica del paquete es una forma de hacerlo.


class_exists(\Caimari\Members\MembersServiceProvider::class) chequea si la clase MembersServiceProvider existe en tu código, no si está registrada en tu archivo config/app.php.

Aunque hayas comentado la línea en config/app.php, la clase MembersServiceProvider sigue existiendo en tu código y por eso la función class_exists retorna true.

Una forma alternativa de lograr lo que quieres sería utilizar el método getProviders del Application de Laravel, que retorna una lista de todos los service providers registrados en tu aplicación. Aquí tienes un ejemplo de cómo podrías hacerlo:

@if(collect(app()->getProviders(\Caimari\Members\MembersServiceProvider::class))->isNotEmpty())



Members


@endif

En este caso, si el MembersServiceProvider no está registrado en config/app.php, los iconos no serán mostrados.