我如何传递一个php变量从一个视图到另一个视图在Laravel 5.2


How do I pass a php variable from a view to another view in Laravel 5.2?

我有一个包含用户数据的表。我已经创建了一个视图,我可以在其中查看用户的名称,并在单击该名称时,我希望查看该特定用户的详细信息。你能给我讲讲这个问题吗?这将是一个很大的帮助!

如果您想在多个视图之间共享一个变量,您可以很容易地在facade上使用share方法。在文档中有一整节是关于这个的:

https://laravel.com/docs/5.2/views sharing-data-with-all-views

View::share('key', 'value');

如果你想记住一个特定的值来显示在下一页,你可以使用会话来"闪光"数据。文档中也有一篇关于这个的文章:

https://laravel.com/docs/5.2/session flash-data

请注意,您需要将这些会话数据重新注入到视图中,可能是通过在view facade上使用上面的"share"方法。

从你的问题来看,你的要求不明确。
我是专门回复你的这个评论的:

是的对的。我有一个包含用户数据的表。我已经创建了一个视图,在其中我可以查看用户的名字,并在点击我期望查看用户的详细信息的名字。你能给我讲讲这个问题吗?

当用户单击超级链接时,将user-id传递给该链接。现在,为这个路由编写一个控制器,在其中使用user-id获取用户详细信息,并将其传递给视图。

在您的视图中,您可以使用php变量:

@include('view.name', ['some' => 'data'])

现在在'view.name'中有变量$some包含'data'

你可以将变量传递给另一个视图,就像你在控制器中做的那样。

假设你在控制器中有这个方法:

public function whatever()
{
    $someData = ...
    $otherData = ...
    return view('view', compact('someData', 'otherData));
}

在你看来:

<html>
   <h1>{{ $someData->text }}</h1>
   @include('otherView', ['otherData' => $otherData])
</html>
编辑:

请注意,otherData无论如何都将在包含的视图中可用。你不需要传阅。如果您想为变量使用不同的别名,上面的示例非常有用。

很久以前,我创建了这个功能,其中变量传递给多个视图。下面是代码

View::composer('admin.layouts.navbar', function($view){
    $view->with('key', 12);
});

您可以将此代码粘贴到routes.php文件

这里的布局文件是/resources/views/admin/layout/navbar和变量名是$key,它可以在导航栏视图中访问,如

{{$key}}