Php Laravel 4和叶片-取决于变量的截面

Php Laravel 4和叶片-取决于变量的截面,php,laravel,laravel-4,laravel-blade,Php,Laravel,Laravel 4,Laravel Blade,我在使用Blade和Laravel4时遇到了一个严重的问题,特别是我需要有一个部分来改变它在由父部分处理的变量上的内容 举个例子,看看这个 controller.php <?php $data = array('rows' => array('a', 'b', 'c', 'd')); View::make('users-list', $data); ?> base-list.blade.php @extends('base-list') @section('table-r

我在使用Blade和Laravel4时遇到了一个严重的问题,特别是我需要有一个部分来改变它在由父部分处理的变量上的内容

举个例子,看看这个

controller.php

<?php

$data = array('rows' => array('a', 'b', 'c', 'd'));
View::make('users-list', $data);

?>
base-list.blade.php

@extends('base-list')
@section('table-row')
my {{ $row }}
@overwrite
@section('table')
foreach($rows as $row)
{
    @section('table-row')
    {{ $row }}
    @stop
    @yield('table-row')
}
@show
@section('table')
foreach($rows as $row)
{
    {{ View::make('base-list-row', array('row', $row)) }}
}
@show
{{ $row }}
问题是我得到了一个未定义的变量
$row
,因为用户列表模板是在基本列表模板之前解析和执行的

为了解决这个问题,我做了以下工作:

base-list.blade.php

@extends('base-list')
@section('table-row')
my {{ $row }}
@overwrite
@section('table')
foreach($rows as $row)
{
    @section('table-row')
    {{ $row }}
    @stop
    @yield('table-row')
}
@show
@section('table')
foreach($rows as $row)
{
    {{ View::make('base-list-row', array('row', $row)) }}
}
@show
{{ $row }}
base-list-row.blade.php

@extends('base-list')
@section('table-row')
my {{ $row }}
@overwrite
@section('table')
foreach($rows as $row)
{
    @section('table-row')
    {{ $row }}
    @stop
    @yield('table-row')
}
@show
@section('table')
foreach($rows as $row)
{
    {{ View::make('base-list-row', array('row', $row)) }}
}
@show
{{ $row }}
但是,说真的,我不能这么看:\

因为使用@extends时模板是从子级呈现到父级的,所以我甚至不能使用
$\uu env->share('row',$row)
技巧,因为子级在父级之前执行


有人有解决方案或更好的解决方法吗?

使用
@include('base-list-row',array($row))
怎么样?明天我会试试,但看起来是一样的,至少我会使用标准刀片语法。。。tnx