簡體   English   中英

如何使用 Laravel 別名調用非靜態方法

[英]How to call non-static method using laravel alias

我有一個自定義的幫助程序類,並沒有為該類設置別名以訪問刀片文件(前端)。 我可以訪問引用 alias::method 的靜態方法,但我需要從視圖訪問非靜態方法。 我怎樣才能做到這一點?

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

我可以使用Access::getUser()輕松訪問靜態函數 那么如何訪問非靜態函數呢?

如果您只想在您的視圖中訪問它,您可以共享一個新的 Access 實例來訪問您的所有視圖:

在 AppServiceProvider 的 boot() 方法中:

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

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

您可以將此類的實例注入您的視圖:

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

現在您可以通過$access->whatEverMethod()訪問所有這些方法。 否則,您將需要 Facade 或處理魔術方法來調用類本身的非靜態方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM