Фасады предоставляют быстрый доступ и «статический» интерфейс к классам, доступным в сервис-контейнере. Например:
Foo::bar()

Новый, пользовательский, фасад создается уже после создания сервис-провайдера, регистрирующего нужный класс в сервис-контейнере (глобальном объекте App) по текстовому ключу.

Фасад должен наследоваться от родительского класса Facade и переопределить единственный метод: getFacadeAccessor(). Его задача - указать, что вы хотите получить из контейнера (текстовый ключ указанный в сервис-провайдере).
Родительский класс Facade использует магический метод PHP __callStatic() для перенаправления вызовов методов с вашего фасада на полученный объект.

Пример класса фасада в Laravel:
<?php
namespace App\Helpers\Facades;

use Illuminate\Support\Facades\Facade;

class SaveStr extends Facade{
    
    protected static function getFacadeAccessor()
    {
        return 'save';
    }
}
вызов метода getFacadeAccessor() возвращает ключ по которому в сервис-контейнере регистрируется нужный класс в сервис-провайдере, в данном случае 'save'.



Например, когда вы вызываете фасад Cache:
Cache::get()
Laravel получает объект CacheManager из сервис-контейнера и вызывает метод get() этого класса.

Это происходит от того, что сервис провайдер данного класса (файл vendor\laravel\framework\src\Illuminate\Cache\CacheServiceProvider.php) привязывает ключ 'cache' к классу CacheManager, который создается при запросе данного объекта:
public function register()
{
    $this->app->singleton('cache', function ($app) {
        return new CacheManager($app);
    });
…

Кроме того, для удобного использования фасадов создают алиас в массиве aliases в файле config\app.php:
'Cache' => Illuminate\Support\Facades\Cache::class,

Алиасы позволяют задать любое короткое и понятное названия для сервиса, который предоставляет определенный класс связанный с данным фасадом.

То есть, фасады не является чем-то обязательным, использовать зависимости и получение сервисов из сервис-контейнера можно и без них. Фасады создаются только для удобства использования:
  • статический» интерфейс к классам;
  • удобное обращение к нужному сервису с помощью алиаса.

Узнать подробнее про сервис-контейнер, сервис-провайдеры и использование фасадов можно в статье Архитектура Laravel - практическое применение.