laravel刀片减少代码重复

时间:2016-04-04 19:04:23

标签: php laravel blade

我的刀片布局文件和两个表的刀片视图中都有代码。有没有办法减少我重复的代码量?下面是我的布局文件中的代码。 有没有办法在布局文件中包含第一个表,然后传递不同的变量以在刀片视图文件中创建多个不同的表? 基本上,我可以使用布局中第一个表的代码重新创建刀片视图文件中的第二个表吗?

<!DOCTYPE html>
<html>
<head>
</head>

<body>
<table border = "1", cellspacing = "2", align = center>
<tr> <td> <strong> ID </strong></td> <td><strong> Time </strong></td><td>  <strong> Note </strong></td></tr>
<!-- blade for loop  -->
@for ($i=0; $i <$countOfUniqueDate[$uniqueDates[0]]; $i++)

<tr><td> {{ $number[$i] ->id }} </td><td> {{ $number[$i]->timevalue }} </td> <td> {{ $number[$i]->note }} </td></tr>
@endfor
</table>

@yield('table')

//I would like to get rid of the below code by reusing the above table code 
// to recreate the second table 

<br><br><br>
<table border = "1", cellspacing = "2", align = center>
<tr> <td> <strong> ID </strong></td> <td><strong> Time </strong></td><td> <strong> Note </strong></td></tr>
@for($i= $countOfUniqueDate[$uniqueDates[0]]; $i < ($countOfUniqueDate[$uniqueDates[0]] + $countOfUniqueDate[$uniqueDates[1]]); $i++)

 <tr><td> {{ $number[$i] ->id }} </td><td> {{ $number[$i]->timevalue }} </td><td> {{ $number[$i]->note }} </td></tr>
 @endfor

</table>
<br><br><br><br><br>

@yield('table2')
</body>

<br><br>
</html>

以下是我的刀片视图文件中的代码。

<!DOCTYPE html>
<html>



@extends("layouts.practice")
@section('table')
@stop


<p align="center">
<a href="https://villageprintwebapp.app/writeNote"> Add a comment </a>
</p>

</html>

我也可以显示两个表而不引用部分(&#39; table2&#39;)但不确定这是如何工作的。

1 个答案:

答案 0 :(得分:1)

对于重复的任何代码,您可以在另一个刀片文件中添加相同的内容,并在任何使用相同内容的地方包含相同内容

@include(&#39;视图名&#39;,$ PARAMS)

params将是一个数组,键值对,您希望将其传递给新刀片模板中的特定代码段