Как создать фасад без промежуточного файла в Laravel? - PullRequest
0 голосов
/ 01 января 2019

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

Предположим, у меня есть экземпляр 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');
...