如何在所有刀片页面中使用变量?
控制器
public function index1(){
$article='var-1';
return view('index',compact('article');
}index.blade.php
{{ $article }}index.blade.php的结果 var-1
index2.blade.php
{{ $article }}index2.blade.php的结果 未找到
找出使用一个变量并在我的所有*.blade.php文件中使用它的方法是我的问题。
我怎么才能解决这个问题?
发布于 2017-07-13 11:14:44
您可以创建一个编写器并在主视图上传递数据。
示例:
class MyComposer
{
public function compose(View $view)
{
$article='var-1';
$view->with(['article' => article]);
}
}并在AppServiceProvider函数中调用boot()类中的类,如下所示:
view()->composer('layouts.app', MyComposer::class);layouts.app是视图中包含的主要视图
如果您需要更多信息,请参阅文档
发布于 2017-07-13 11:09:16
您可以轻松地将数据传递给所有视图。只需在AppServiceProvider.php中的boot()方法中添加以下内容:
View::share('key', 'value');发布于 2017-07-13 11:10:37
您可以使用视图外观的共享方法与应用程序呈现的所有视图共享一段数据。通常,您应该在服务提供者的boot方法中放置共享调用。您可以自由地将它们添加到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()
{
//
}
}https://stackoverflow.com/questions/45078805
复制相似问题