Laravel 将刀片部分的内容放入变量中

Laravel 将刀片部分的内容放入变量中,laravel,laravel-4,Laravel,Laravel 4,在我的刀片模板中,有一个简单的部分: @section('container') My html markup here @stop 我在“master.blade.php”文件中调用: 据我所知,yield函数打印容器的内容。但是我想知道我是否可以将容器的内容放在变量中而不是 我想这样做: $myvar = @yield('container'); 我知道它在句法上是不正确的,但有一个想法。我想将节容器的内容放入变量中。返回视图时,从文件中读取html标记,并将与一起使用: $html =

在我的刀片模板中,有一个简单的部分:

@section('container')
My html markup here
@stop
我在“master.blade.php”文件中调用:

据我所知,
yield
函数打印
容器的内容。但是我想知道我是否可以将容器的内容放在变量中而不是

我想这样做:

$myvar = @yield('container');

我知道它在句法上是不正确的,但有一个想法。我想将节
容器的内容
放入变量中。

返回视图时,从文件中读取html标记,并将
一起使用:

$html = File::get($filepath);
return view('yourview')->with(compact('html'));
然后在刀片视图文件中,您可以如下所示:


您可以在

中阅读更多内容,为什么不使用一些javascript来执行以下操作:

var somvar = $("#container").html();
<?php ob_start(); ?>
<div>Contents goes <b>here</b></div>
<?php $contents = ob_get_contents(); ?>
或者像这样:

var somvar = $("#container").html();
<?php ob_start(); ?>
<div>Contents goes <b>here</b></div>
<?php $contents = ob_get_contents(); ?>

内容放在这里

它必须在视图中吗?你能做点像

$myvar = View::make('yourview.blade.php')->with('somevars');

这意味着您只想在变量中放置“My html markup here”,或整个容器标记(包括
@section('container')
@stop
)?我只想在变量中放置“My html markup here”。您可以使用view composer将变量传递给视图。只有当html标记很小时,您的技巧才有效。但是,我有一个完整的HTML页面在我的“容器”部分,我不能使用你的解决方案…你得到什么错误?一个字符串可以大到2gb@user3158900是的,但将完整的HTML页面放入PHP变量中并不实际……您可以将其存储在不同的文件中,从那里加载并随视图一起返回。我已经更新了我的答案。然后你需要提供更多关于你想要实现的细节。我想第二种方法会帮助你。我知道ob_start选项,我已经使用过了,但我想知道是否存在Laravel解决方案……坦白说,Blade只是一台渲染机,我担心它们不会成为在渲染机中分配变量的一种方式。