plugin icon indicating copy to clipboard operation
plugin copied to clipboard

[Bug]: Don't find blade or livewire component outside /ressources/views/components

Open arnolem opened this issue 11 months ago • 2 comments

Bug description

I use Livewire::component() and Blade::component() to create my components

    public function boot(): void
    {
        $path = '../components';
        if (File::exists($path)) {
            // Enregistre les composants anonymes (sans class PHP)
            Blade::anonymousComponentPath($path.'/_/');

            // Parcours tous les dossiers
            $directories = File::directories($path);

            // On va déclarer un composant pour chaque dossier trouvé
            foreach ($directories as $directory) {
                $className     = basename($directory);
                $componentName = strtolower($className);

                if ($className === '_') {
                    continue;
                }
                $classNamespaced = "Components\\$className\\$className";
                if ( ! class_exists($classNamespaced)) {
                    continue;
                }
                if (is_subclass_of($classNamespaced, 'Livewire\\Component')) {
                    Livewire::component($componentName, $classNamespaced);
                } else {
                    Blade::component($classNamespaced, $componentName);
                }
            }
        }
    }

But your paid plugin doesn't works with this

Image

Plugin version

9.1.0.243

Operating system

Windows

Steps to reproduce

No response

Relevant log output


arnolem avatar Jan 19 '25 22:01 arnolem

Laravel Idea can't fetch this dynamic components registration. It doesn't run PHP code itself.

adelf avatar Jan 20 '25 15:01 adelf

Ok but does laravel generate a cache file that you could use because it is really problematic?

arnolem avatar Jan 20 '25 22:01 arnolem