Php 如何使用laravel别名调用非静态方法

Php 如何使用laravel别名调用非静态方法,php,laravel,laravel-5,laravel-blade,Php,Laravel,Laravel 5,Laravel Blade,我有一个自定义的助手类,我将设置该类的别名以访问刀片文件(前端)。我可以访问引用alias::方法的静态方法,但我需要从视图访问非静态方法。我该怎么做 'Access' => App\Services\Access::class, Two functions in Access class. public function getPermissions() public static function getUser() 使用access::getUser() 那么如何访问非静态功能呢?

我有一个自定义的助手类,我将设置该类的别名以访问刀片文件(前端)。我可以访问引用alias::方法的静态方法,但我需要从视图访问非静态方法。我该怎么做

'Access' => App\Services\Access::class,
Two functions in Access class.
public function getPermissions()
public static function getUser()
使用
access::getUser()

那么如何访问非静态功能呢?

如果您只想在视图中访问它,您可以共享一个访问所有视图的新实例:

在AppServiceProvider的boot()方法中:

View::share('access', (new App\Services\Access));

然后在您的刀片
@foreach($access->getPermissions()as$permission)

中,您可以将此类的实例注入到视图中:

@inject('access', Access::class)

现在,您可以通过
$access->whatEverMethod()
访问所有这些方法。否则,您将需要一个Facade或处理magic方法来调用类本身的非静态方法。

您将需要一个类实例来调用非静态方法。。。也许您希望为这个类创建一个Facade,或者让magic
\uuu callStatic
方法创建一个新实例,并调用该实例上的方法来实现you@lagbox非常感谢。这就是重点。你能分享一些代码或URL吗?你能提供你试图使用它的代码吗?我需要从视图中调用getPermissions()函数。通过访问别名。但下面您说您需要在自定义刀片指令中使用它。。。是哪个?不。我不需要使用视图共享,因为我想访问自定义刀片指令中的非静态方法。