【php】viewファイル生成で気づいたこと

  • 2019年8月27日
  • PHP

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の概念が分かってきたので

次は良い説明ができればいいなと思っております。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG