在 Laravel 5 中,如果你想将控制器中的变量引用到所有的视图(或称为“刀片”),你可以使用视图合成器(View Composer)
以下是如何实现的步骤:
首先,你可以使用 Artisan 命令来生成一个新的服务提供者,该服务提供者将包含你的视图合成器。
php artisan make:provider ViewComposerServiceProvider
这将在 app/Providers
目录下生成一个新的服务提供者文件。
打开新生成的 ViewComposerServiceProvider.php
文件,并在 boot
方法中注册你的视图合成器。
namespace App\Providers;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class ViewComposerServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap services.
*
* @return void
*/
publicboot()
{
View::composer('*', function ($view) {
$view->with('variableName', 'Your variable value');
});
}
}
在上面的例子中,*
表示这个合成器将应用于所有的视图。你可以替换为特定的视图名称或视图组。
最后,你需要在 config/app.php
文件的 providers
数组中启用你的服务提供者。
'providers' => [
// ...
App\Providers\ViewComposerServiceProvider::class,
],
现在,你可以在任何视图中使用 $variableName
变量了。
<p>{{ $variableName }}</p>
这样,你就可以在 Laravel 5 中将控制器中的变量引用到所有的视图中了。
领取专属 10元无门槛券
手把手带您无忧上云