2017-05-18 8 views
0

私のアプリケーションが壊れる理由を理解しました。なぜ私は自分自身に尋ねる。なぜ、ビューキャッシュに使用されているブレードのコメントで、アプリケーションが壊れているのですか?

のように私は私の刃のテンプレートにコメントを持っている:私のアプリがエラーをもたらし、laravelログにとエラーがある

// @foreach($array as $single_array => $single_value) 
//  @if($single_value['hours']) 
//   Array[{{$single_array}}] = true; 
//  @else 
//   Array[{{$single_array}}] = false; 
//  @endif 
// @endforeach 

:コメントの解釈と望んでいる理由

[2017-05-18 13:33:35] local.ERROR: ErrorException: Undefined variable: $array in /dir/dir/storage/framework/views/6d55dbc26cff4b472bc2fe463d746c694d87d562.php:83 

は、私のプログラマーで使用する?それは私のキャッシュされたビューでコメントされているので、それはdiffrenceを作るべきではありませんか?

私は自分のキャッシュとsymfonyのキャッシュ、ブラウザのキャッシュ、すべてをクリアしましたが、を削除しました。これらのコメント行は機能します。この後はすべて正常に動作します。

+2

http://laravel-recipes.com/recipes/86/using-comments-in-blade-templates –

答えて

2

デフォルトでは、ブレードテンプレートにはPHPオープニングタグがありません。したがって、内部のコードはhtmlと同じです。あなたへのコメントコードが実際にはブレードファイルにコメントされておらず、コード内に変数が必要な場合。ブレードでこれをコメントする適切な方法はそうです。

{{[email protected]($array as $single_array => $single_value)--}} 
    {{[email protected]($single_value['hours'])--}} 
     {{--Array[{{$single_array}}] = true;--}} 
    {{[email protected]}} 
     {{--Array[{{$single_array}}] = false;--}} 
    {{[email protected]}} 
{{[email protected]}} 

OR 

{{[email protected]($array as $single_array => $single_value) 
    @if($single_value['hours']) 
     Array[{{$single_array}}] = true; 
    @else 
     Array[{{$single_array}}] = false; 
    @endif 
@endforeach--}} 
+0

これは動作しますが、私のエディタdoesntのも、このコメントであることを認識しています。ありがとうございます – Gabbax0r

+0

ラーベールブレードの専用構文です。私の知る限り、phpstormだけが今のところそれをサポートしています。 – Sandeesh

+0

私の会社はphpstormで私をアップグレードしなければなりません;) – Gabbax0r

関連する問題