use*_*781 27 php blade laravel-4
我试图include用Laravel刀片,但问题是它无法传递变量.这是我的示例代码:
file_include.blade.php
<?php
$myvar = "some text";
Run Code Online (Sandbox Code Playgroud)
main.blade.php
@include('file_include')
{{$myvar}}
Run Code Online (Sandbox Code Playgroud)
当我运行该文件时,它返回错误"Undefined variable:myvar".那么,我如何将包含文件中的变量传递给主文件?
谢谢.
Ken*_*nny 53
为什么要将它从包含传递给调用模板?如果你在调用模板中需要它,在那里创建它,然后将它传递到包含的模板,如下所示:
@include('view.name', array('some'=>'data'))
Run Code Online (Sandbox Code Playgroud)
以上代码片段来自http://laravel.com/docs/templates
不幸的是,Laravel Blade引擎不支持您的预期!但是有点传统的方式可以实现这一点!
解决方案1 - 没有Laravel Blade Engine
第一步:
从
file_include.blade.php
Run Code Online (Sandbox Code Playgroud)
至
file_include.php
Run Code Online (Sandbox Code Playgroud)
步骤b:
main.blade.php
<?php
include('app/views/file_include.php')
?>
{{$myvar}}
Run Code Online (Sandbox Code Playgroud)
解决方案2有Laravel Blade Engine
routes.php
$data = array(
'data1' => "one",
'data2' => "two",
);
View::share('data', $data);
Run Code Online (Sandbox Code Playgroud)
Any View像这样访问$ data数组
{{ $data['data1'] }}
Run Code Online (Sandbox Code Playgroud)
产量
one
Run Code Online (Sandbox Code Playgroud)