2016-04-05 12 views
0

私はプログラミングが新しく、MVCパターンについて簡単な質問があります。私はLaravelを学び始めました。Laravelには、ビュー、コントローラー、モデルがあります。MVC - ビュー内でifsを実行することはできますか?

私の質問は:ifは私の意見に似ていますか?

<option value="dayofweek" {{Input::get('group') == 'dayofweek' ? 'selected' : ''}}>Day Of week </option>

私は条件Input::has('group') && ...に追加のステートメントを追加する場合は特に、私は私の<select>にいくつかの<option>秒を持っており、それは一種の醜いです。

同じデータがあり、すべてのチェックを実行してから、選択したオプションと選択していないオプションをレンダリングできるようにしてから、コントローラの選択肢を選択する必要がありますか?

PS:私はできることは知っていますが、でしょうか?

答えて

2

はい、ifあなたのビューで行うことができます。それはあなたの意見が完全に静的であることを意味するので、それは狂気ではないでしょう。これはかなり実用的ではありません。

しかしが、それはこれらの記述はInputのようなものに依存持つようにおそらく悪い考えです。あなたの意見はより多くのデカップルよりする必要があります。いくつかの異なるシナリオで特定のビューを使用するとします。言い換えれば、多くの異なるコントローラが同じビューをレンダリングしたいことがあります。これらすべてのシナリオでInputが使用されたこと、またはその入力が具体的に呼び出されたことを保証するものではありません。 コントローラーは直接入力を処理する必要があります。ビューにはコントローラが設定する$currentGroupのような変数を受け取る必要があります。あなたは入力と出力の間にある程度の断熱を置いて、直ちに結びつけて再利用性と柔軟性を高めたいと思っています。

0
あなたは以下のように行うことができます

<select> 
     @foreach ($dropItems as $item) 
      {{-- */ 
       $selected = ''; 
       if (Input::has('group') && Input::get('group') == $item) { 
        $selected = 'selected'; 
       } 
      /* --}} 
      <option value="dayofweek" {{ $selected }}>Day Of week </option> 
     @endforeach 
    </select> 

か、

{!! Form::select('day_drop_down', $daysArray , (Input::has('group') && Input::get('group') == '')?Input::get('group'):0, ['class' => 'form-control', 'id'=>'productTemplate']) !!} 
+0

おそらく私はLaravelについて言及していて、言語/フレームワークを指定せずに質問していたはずです。私はそれをどうやってできるのか尋ねない。私が頼んでいるのは、コントローラーやビューでそれを行うべきかどうかです。 :)私は、両方のものがいくつかのチュートリアルで実行されるのを見ました。私はベストプラクティスが何であるかを知りたい。ありがとう。 –

0

質問は、お使いのコントローラが常駐しないされ使用することができますか?あなたはサーバー側のプログラミングをしていますか?次に、コントローラーとモデルがサーバー上に存在します。

クライアントサイドプログラミングを実行している場合、3つのレイヤーはすべてブラウザのHTML/CSS(ビュー)、Javascript(コントローラーおよびモデル)に存在します。

以降では、あなたは、あなたのHTMLがきれいに持っている必要がある場合:

<option value="dayofweek">Day Of week </option> 

と(コントローラ)でのみごJavascriptが操作を行います。

val = get('group') == 'dayofweek' ? 'selected' : ''}} 
$('dayofweek').val = val; 

(申し訳ありませんjavascriptのは、おそらく間違っています。 ..しかしあなたは考えを得る。)

関連する問題