joserick / laravel-livewire-discover
Discover and autoload multiples components of livewire by convention (componentNamespace)
Installs: 108
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 0
Open Issues: 1
Type:package
Requires
- livewire/livewire: ^3.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- orchestra/testbench: ^8.5
README
Laravel Livewire Discover
Automatically discover and load/register multiple/different class namespaces for Livewire components.
Installation
You can install the package via composer:
composer require joserick/laravel-livewire-discover
Enjoying this package?
Config
Add to AppServiceProvider.php
public function boot(): void { // Load multiples namespace for Livewire components. Livewire::discover('Namespaces\\Livewire', 'my-components'); Livewire::discover('User\\Repository\\Livewire', 'new-components'); ... }
Or use the config: 'config/laravel-livewire-discover.php'
# Publish the config
php artisan vendor:publish --tag livewire-discover-config
// Load the namespace to Livewire components. 'class_namespaces' => [ // 'prefix' => 'namespace\\package', 'my-components' => 'Namespaces\\Livewire', 'new-components' => 'User\\Repository\\Livewire', ],
Use
<!-- Call Livewire Components. --> <livewire:my-components-devices /> <!-- Class: Namespace\Livewire\Devices; --> <livewire:new-components-devices-table /> <!-- Class: User\Repository\Livewire\DevicesTable; -->
Or
// Load Livewire Component from Route use Namespaces\Livewire\Devices; use User\Repository\Livewire\DevicesTable; Route::get('/devices', Devices::class); // resolve name my-components-devices Route::get('/devices_table', DevicesTable::class); // resolve name new-components-devices-table
License
The GNU Public License (GPLv3). Please see License File for more information.