Skip to content

Automatically discover and load/register multiple/different class namespaces for Livewire components.

License

Notifications You must be signed in to change notification settings

joserick/laravel-livewire-discover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel_livewire_discover.jpg

Laravel Livewire Discover

Packagist Downloads GitHub License GitHub Release

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? "Buy Me A Coffee"

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.