Как создать фасад без промежуточного файла в 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');