@define变量在Blade Laravel 4.2中不起作用

时间:2017-06-29 08:28:21

标签: php laravel laravel-4

尝试在刀片文件中定义变量但不起作用:

@define $i = 1  

但在尝试使用时收到错误“Undefined variable $ i”。

完整代码:

@foreach($assigned as $task)  
  @define $pcat = "";
  @if($task->tc_name != $pcat)
  @else
       //code
  @endif
  @define $pcat = $task->tc_name
@endforeach

不知道我做错了什么:(

3 个答案:

答案 0 :(得分:1)

我想你可以试试这个:

<?php $i = 1; ?>

{{$i}}

或者您可以在刀片文件中使用以下代码

{{--*/$i=1/*--}}

{{$i}}

希望这对你有用!

答案 1 :(得分:0)

您需要像

一样扩展刀片

像这样扩展刀片:

/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/

\Blade::extend(function($value) {
    return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});

在使用之后,你可以将上面的代码放在app / start / global.php(或任何其他地方,如果你觉得更好)的底部

@define $i = 1  

答案 2 :(得分:0)

尝试这样的事情;

@php 

$i=1;

@endphp