Php Laravel刀片-通过@include或@yield传递变量
我需要向包含的刀片文件传递一个变量。我尝试了两种方法;然而,两者都没有成功Php Laravel刀片-通过@include或@yield传递变量,php,laravel,laravel-4,Php,Laravel,Laravel 4,我需要向包含的刀片文件传递一个变量。我尝试了两种方法;然而,两者都没有成功 将变量title传递到包含的文件: @section('left') @include('modal', ['title' => 'Hello']) @stop 使用@yield并设置部分: @section('left') @include('modal') @section('title') Hello @stop @stop 我使用的是L
title
传递到包含的文件:
@section('left')
@include('modal', ['title' => 'Hello'])
@stop
@yield
并设置部分:
@section('left')
@include('modal')
@section('title')
Hello
@stop
@stop
@include('view.name')
您还可以将数据数组传递到包含的视图:
@include('view.name',array('some'=>'data'))
我的直觉是,
$title
与嵌套模板中的另一个变量冲突。为了进行故障排除,请尝试暂时将其命名为其他名称。将数据数组传递给包含的视图
@include('view.name', array('some'=>'data'))
然后在view/name文件夹上使用此选项
{{ $some }}
您是如何尝试输出它的?第一个选项绝对有效。出于某种原因,它不喜欢
[]
括号。不过,使用array('title'=>'hello')
是可行的。您使用的是什么PHP版本?PHP5.4中引入了速记数组。不过,由于某种原因,它不喜欢[]
括号,这是可行的。如何产生
方法-如果它是正确的方法?对不起,输入错误。意思是包含。至于短数组语法,可能您的php版本不支持短数组语法。你用的是哪个版本?是的-你说得对!谢谢这是拉雷维尔首选的做事方式吗?也就是说,大量包含和传递变量以重用模板?这在很大程度上取决于您的用例。对于应该重复的代码,本质上是一个子组件,不包含在每个视图中(fx.a模式、特定于页面的导航等),我肯定会使用子视图。我不确定,但如果您需要这样嵌套它,请尝试['someVar'=>视图('my.view')]
。我更喜欢像@include('viewA',['subview'=>'viewB'])
这样的操作,在viewA.blade.php
中,使用@include($subview)
。不过只是随地吐痰而已。