--> -->

skimemo


Laravel-20181219 の変更点


* JavaScriptをBlade+PhpStormで使って書く [#p2807ddb]
~LaravelではJavaScript外部ファイルは&inlinecode{/public/js};あたりに置くと思います。しかしこれは単純にJavaScriptのファイルであり、動的に生成することができません。
~折角LaravelなのでBladeを使ってJavaScriptを出力してみます。
~
+ &inlinecode{/resources/views/hoge.blade.php};ファイルを作ります
+ &inlinecode{/resources/views/hoge.blade.php};ファイルを作ります~
~
+ phpStormの設定~
&inlinecode{Settings / Editor / File Types};に&inlinecode{hoge.blade.php};を追加します。~
#ref(phpstmjs.png)~
~
hoge.blade.phpをJavaScriptとして定義すると、JavaScriptの言語補完が効くようになります。~
[before]
#ref(phpstmjs_before.png)
[after]
#ref(phpstmjs_after.png)
#ref(phpstmjs_after.png)~
~
逆にBladeのタグは解釈してくれなくなるので、@foreach〜@endforeachみたいなディレクティブを使うと表記が乱れます。JavaScriptを取るかBladeを取るか・・・。~
使い方としてはあくまでJavaScriptメインで、phpの変数を使う時はJavaScriptの変数に代入&inlinecode{let val = "{{$val}}";};してJavaScript側でfor()するといった使い方をお勧めします。~
~
+ route定義(web.php)します~
#code(php){{
Route::get('hoge',function(){return view()->make('hoge');})->name('hoge');
}}
+ HTMLから呼びます~
#code(php){{
<script src="http://localhost/hoge"></script>
}}

これで、PhpStormで補完しながら快適に書け、Bladeのタグも使用でき、動的に生成したJavaScriptをHTMLから呼び出せます。