2017-06-29 6 views
0

に動作していないが、そのは動作していない:@define変数は、ブレード・ファイルで変数を定義しようとすると、ブレードLaravel 4.2

@define $i = 1 

はなく、試しに使用するとエラー「$私は未定義の変数」を得ました。

全コード:

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

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

:私が間違ってやっているところ:(

+0

あなた自身で作成した '@ define'ディレクティブですか? –

+0

なぜlaravel 4.2を使用しますか? – lewis4u

+0

私は過去3〜4年でプロジェクトに取り組んでいます –

答えて

1

私はあなたがこれを試すことができると思います!

+0

動作していますが、コアのPHPコードを書いたくありません:( –

+0

@GovindSamrow最新のコードを確認してください –

0

あなたはこのようにブレードを拡張

のようなブレードを拡張する必要が

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

いけない知っています上記のコードをapp/start/global.phpの末尾に置くことができます。それより良いです)

@define $i = 1 
+0

Blade :: extend functionをどこに追加する必要がありますか? –

+0

既にapp/start/global.phpの末尾に記載されています – Rahul

0

このようなものを試してみてください。

<?php $i = 1; ?> 

{{$i}} 

か、ブレード・ファイル内のコードの下に

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

{{$i}} 

希望あなたのためにこの作品を使用することができます。

@php 

$i=1; 

@endphp 
+0

これがどのように役立つかについて詳しく説明できますか?そのような短い答えは正しいかもしれませんが、あまり有用ではありません。 –

関連する問題