我有设置控制器的选项,我需要在页眉和页脚上获取一些需要全局加载的数据。
我该怎么做?
我已经在本网站上阅读了一些问题,但没有一个像我预期的那样帮助我,或者我没有得到这些!无论哪种方式,我都需要你的帮助来解决我的这个问题。
感谢。
答案 0 :(得分:0)
有很多方法可以做到这一点
但其中一个在laravel文档中引用的是使用boot
<强> Sharing Data With All Views 强>
有时,您可能需要与所有视图共享一段数据 由您的应用程序呈现。您可以使用该视图执行此操作 外观的分享方法。通常,您应该拨打电话进行分享 在服务提供商的引导方法中。您可以自由添加它们 AppServiceProvider或生成单独的服务提供者 容纳他们:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
View::share('key', 'value');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
您可以在AppServiceProvider.php
的启动方法中共享变量例如,您有类别表和类别模型,并且您希望将其共享给所有视图
<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
$categories = Category::All();
View::share('categories', 'categories');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
但是如果您想为您的网站设置页眉和页脚,只需使用主文件并将其扩展到其他视图即可 document