我正在 PHP laravel 框架中制作一个简单的网站,其中顶部导航链接是从数据库动态生成的。我正在主控制器操作中生成 $pages 变量并传递到布局文件。我的代码如下:
public function home()
{
$pages = Page::all();
return View::make('home')->with('pages', $pages);
}
public function login()
{
return View::make('login');
}
但是当我尝试访问登录操作时,我收到错误变量 $pages not find 因为 $pages 变量正在布局文件中被访问。如何在控制器中的所有操作之间共享相同的变量?
我认为一个相当简单的方法是使用控制器的构造函数。有时,能够从控制器内部查看控制器中所有方法可用的变量会很有帮助,而不是隐藏在服务提供者的某个地方。
class MyController extends BaseController
{
public function __construct()
{
view()->share('sharedVar', 'some value');
}
public function myTestAction()
{
view('view.name.here');
}
}
并在视图中:
<p>{{ $sharedVar }}</p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)