Laravel load anonymous components from packages

David Carr

Laravel Framework Packages

From Laravel 7 blade components are included. You may want to use these in packages.

For the components to be loaded from a package, the package service provider has to first load views from a folder and then use Blade::component to load the components.


In the package `src` folder create a folder called `components` 

This example is for a fictional package called `Elements`

The service provider loads the files from the components folder and then uses Blade::component to load each one. 

At the time of writing this, there is no way to automatically load components, they need to be loaded individually.

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;

class ElementsServiceProvider extends ServiceProvider
    public function boot()
        $this->loadViewsFrom(__DIR__ . '/components', 'elements');

        Blade::component('elements::form-button', 'form-button');

These components can then use using by called <x- followed by the name:                                                                                                  

<x-form-button method="GET" action="/demo">


Fathom Analytics $10 discount on your first invoice using this link

Help support the blog so that I can continue creating new content!

Fathom Analytics $10 discount on your first invoice using this link

Subscribe to my newsletter

Subscribe and get my books and product announcements.

© 2006 - 2023 DC Blog. All code MIT license. All rights reserved.