Как создать фасад без промежуточного файла в Laravel?

Я хотел бы упростить способ создания фасадов в моем приложении.

Давайте предположим, что у меня есть экземпляр foo Я хотел бы получить доступ к нему через фасад в любом месте моего приложения.

Я имею:

app()->singleton('foo', Foobar\Bar\Foo::class);

Затем я зарегистрировал псевдоним в config/app.php

'aliases' => [
     'Foo' => App\Facades\Foo::class
     ...

Затем я создал фасад для Foo

namespace App\Facades;

use Illuminate\Support\Facades\Facade;

class User extends Facade
{
    protected static function getFacadeAccessor()
    {
        return 'foo';
    }
}

И теперь я могу получить доступ к экземпляру foo из любого места:

Foo::foo();

Есть ли способ упростить это до одной строки, такой как:

app()->registerFacade('foo', 'Foo');

0 ответов

Другие вопросы по тегам