laravelのことですが、viewsフォルダ内にindex.phpとindex.blade.phpと同じ名前のファイルを置くとします。
localhost:8080/helloで開くとindex.blade.phpのviewを開くようになっている。
調べたところlaravelではviewに同じ名前のファイルが存在するときはテンプレートファイルであるBlade.○○.phpを
優先しているみたいです。
すっきりしました。
ルーティングは以下の構文です。
</pre> Route::get('hello', 'SampleController@index'); <pre>
説明不要ですがページを開いたときにSampleControllerクラスのindexメソッドにアクセスしています。
コントローラ内でviewに渡す変数は以下のようになっています。
</pre> <span class="k">return</span> <span class="nx">view</span><span class="p">(</span><span class="s1">'hello.index'</span><span class="p">)</span><span class="o">-></span><span class="na">with</span><span class="p">(</span><span class="s1">'test_1'</span><span class="p">,</span><span class="nv">$data</span><span class="p">);</span> <pre><span class="p">
view内のhello.indexはhelloフォルダのindexファイルという意味になります。
先ほど見た通りindexファイルは二つ存在していますね。ですがlaravelはBladeファイル
を優先しているのでBlade.index.phpが呼ばれています。
withメソッドは変数をviewに渡す役割をしています。同じような役割の
compactで書くとこんな感じになります。
<span class="k">return</span> <span class="nx">view</span>(<span class="s1">'hello.index' , </span></span><span class="nb">compact</span><span class="p">(<span class="s1">'test_1'</span>,<span class="nv">$data))</span></span><span class="p">
</span></pre>
<pre>
どちらでも結果は同じですが個人的にはwithのほうが見やすいかなーと思っています。
おまけ程度にcontrollerでviewに値を渡す方法説明しましたが少しずつMVCの概念が分かってきたので
次は良い説明ができればいいなと思っております。