我目前正在開發一個使用Laravel 5.2的Web應用程序,在數據庫中我保存了一些配置,我沿着應用程序中的許多控制器使用該設置,所以我沒有想要一遍又一遍地重複同一件事。 我只想在應用程序啓動時諮詢它,並且這種方式也可以減少代碼並且不會重複。我讀this,但它似乎是對舊版本框架的舊回答。 那麼,在Laravel 5.2我該怎麼做呢?使變量可訪問整個Laravel 5.2應用程序
0
A
回答
1
在給出的link在你的問題中,給出了Laravel 4.x的答案,如果你想在5.2和更高版本中實現相同的技術,那麼你可以使用全局中間件。要做到這一點,只是從你的終端使用類似下面創建一箇中間件:
php artisan make:middleware GlobalConfigMiddleware
這將創建一個在您app/Http/Middleware
目錄中間件(GlobalConfigMiddleware.php
)。在這個文件中,你需要實現建立handle
方法中的配置看起來應該像下面這樣的邏輯:
public function handle($request, Closure $next)
{
// Pseudo Code
app()->singleton('site_settings', function($app) {
// Imagine you have the Setting Eloquent Model
// Get all settings using the Setting model
return \App\Setting::all();
});
// If you use this line of code then it'll be available in any view
// as $site_settings but you may also use app('site_settings') as well
view()->share('site_settings', app('site_settings'));
return $next($request);
}
然後,在你app/Http/Kernel.php
類的$middleware
屬性添加這個中間件類,例如:
protected $middleware = [
// ...
\App\Http\Middleware\GlobalConfigMiddleware::class,
];
現在,你可以使用這樣的配置:
$site_settings = app('site_settings');
瞭解Middleware和Binding。另外請記住,這可以通過不同的方式完成。
0
相關問題
- 1. 如何在整個應用程序Laravel 5.2中使用碳
- 2. 使用變量Laravel 5.2
- 3. VB:在整個應用程序中訪問變量
- 4. AS3變量,訪問整個應用程序?
- 5. 如何在整個應用程序中訪問變量/對象?
- 6. 在laravel中爲整個應用程序保留一個變量
- 7. 如何讓我的Rails變量可以訪問整個應用程序?
- 8. 在Laravel應用程序之外訪問.env變量
- 9. 無法訪問laravel中的常量變量5.2
- 10. 變量不是在整個應用程序的NodeJS訪問+併發問題
- 11. Laravel 5.2:變量可以分類嗎?
- 12. 整個應用程序的變量
- 13. 創建一個整個應用程序可訪問的類
- 14. 訪問集合中laravel 5.2
- 15. 訪問多個鏈接表在Laravel 5.2
- 16. Laravel 5.2變量組路線
- 17. 我需要一個變量訪問整個程序在Java
- 18. Laravel 5.2 - 郵寄一個變量爲html
- 19. Laravel Passport美孚應用程序訪問
- 20. 在整個應用程序中使用常量。使用的#define或可變
- 21. 使Web應用程序可訪問
- 22. MIPS訪問變量,程序
- 23. Qt:如何在整個應用程序中使用訪問點?
- 24. 在整個網頁中使PHP變量可訪問
- 25. 使從整個代碼可訪問的輸入變量
- 26. 如何從laravel應用程序訪問全局變量$ _SESSION和$ _COOKIE?
- 27. 改變Laravel 5.2
- 28. 如何聲明一個可在整個Rails應用程序中訪問的變量?
- 29. 使用Laravel 5.2
- 30. 從C#應用程序批量設置訪問變量
好的,我應該在哪裏加載該變量的值?我擁有數據庫中的所有值。這似乎是用於靜態值 –
你'加載'它當然你需要它。 –