如何在Laravel中创建没有中间文件的外观?

时间:2019-01-01 18:08:58

标签: php laravel laravel-facade

我想简化在应用程序中创建外观的方式。

假设我有一个foo的实例,我想通过我的应用程序中任何位置的Facade访问它。

我有:

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 个答案:

没有答案