首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laravel-5.4中的所有刀片文件中使用php变量?

如何在Laravel-5.4中的所有刀片文件中使用php变量?
EN

Stack Overflow用户
提问于 2017-07-13 11:06:16
回答 3查看 832关注 0票数 0

如何在所有刀片页面中使用变量?

控制器

代码语言:javascript
复制
public function index1(){

$article='var-1';
return view('index',compact('article');

}

index.blade.php

代码语言:javascript
复制
{{ $article }}

index.blade.php结果 var-1

index2.blade.php

代码语言:javascript
复制
{{ $article }}

index2.blade.php的结果 未找到

找出使用一个变量并在我的所有*.blade.php文件中使用它的方法是我的问题。

我怎么才能解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-13 11:14:44

您可以创建一个编写器并在主视图上传递数据。

示例:

代码语言:javascript
复制
class MyComposer
{ 
    public function compose(View $view)
    {
        $article='var-1';    
        $view->with(['article' => article]);
    }
}

并在AppServiceProvider函数中调用boot()类中的类,如下所示:

代码语言:javascript
复制
view()->composer('layouts.app', MyComposer::class);

layouts.app是视图中包含的主要视图

如果您需要更多信息,请参阅文档

票数 1
EN

Stack Overflow用户

发布于 2017-07-13 11:09:16

您可以轻松地将数据传递给所有视图。只需在AppServiceProvider.php中的boot()方法中添加以下内容:

代码语言:javascript
复制
 View::share('key', 'value');
票数 1
EN

Stack Overflow用户

发布于 2017-07-13 11:10:37

您可以使用视图外观的共享方法与应用程序呈现的所有视图共享一段数据。通常,您应该在服务提供者的boot方法中放置共享调用。您可以自由地将它们添加到AppServiceProvider中,或者生成一个单独的服务提供者来容纳它们:

代码语言:javascript
复制
<?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()
{
    //
}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45078805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档