簡體   English   中英

如何為我的Laravel應用程序注冊全局變量?

[英]How to register global variable for my Laravel application?

幾天前我開始使用Laravel,今天我剛剛安裝了vespakoen/menu ,它看起來非常不錯,並且可能會滿足我的需要。

目前,我已經在系統上安裝了Laravel 5.1。

我目前遇到的問題是在每個視圖上都可以在哪里注冊我的菜單,以便我的應用程序可以訪問它。

我應該創建服務提供商嗎? 我應該創建一個類並包含在引導過程中嗎? 什么是執行此任務的正確方法?

注意:問題不是如何安裝module ,而是如何從任何controller任何view訪問$menu變量。

實際上,您應該保留在config / app.php文件中。 然后,您可以添加

In the Service Providers array : 'Menu\MenuServiceProvider',
In the aliases array : 'Menu' => 'Menu\Menu',

最后,您需要運行以下命令;

 php artisan dump-autoload

我假設您已經在composer.json中添加了此包

抱歉,在編輯之前,我沒有清除您的問題。 我不確定您是否無法在視圖或控制器中調用$ menu變量。 根據我的經驗,我將使用注入方式進行此操作。

routes.php中

App::bind('MenuCreator',function($app) {
    return new yournamespace\YourMenuClass();
});

YourMenuClass.php中

假設我有一個函數調用createMenu

 public function createMenu {
      //TODO create Menu and styling Menu
 }

如果要調用此注入方法,則可以通過這種方式訪問​​;

 $menuClass = App::make('MenuCreator');
 $menuClass->createMenu();

請注意,您需要導入App 而且你還需要跑步

 php artisan dump-autoload

希望能有所幫助。 對不起,我的英語不好。

最近,在我之前的項目中,我可以使用View Composer來滿足相同的要求。

而且,我認為在處理laravel5的此類要求時,這是一種更好的處理方法。

如果您需要示例實現,請告訴我。

暫無
暫無

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

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