plugin
plugin copied to clipboard
[Bug]: Don't find blade or livewire component outside /ressources/views/components
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
Plugin version
9.1.0.243
Operating system
Windows
Steps to reproduce
No response
Relevant log output
Laravel Idea can't fetch this dynamic components registration. It doesn't run PHP code itself.
Ok but does laravel generate a cache file that you could use because it is really problematic?