今日のYWT
やったこと
Laravel(+Vue.js)でSNS風Webサービスを作ろう!2周目
1-4 記事一覧画面とナビバーの作成まで
コントローラを作るコマンド等、今まで分けわからず打ってたものを理解しながら打った
またコメントをたくさん残し、何をやっているかを後から見返しても分かるようにした
{!! nl2br(e( $article->body )) !!}がよくわからなかったので調べた。質問もした
英語
Jump Start!をパラッと読んだ
わかったこと
Laravel
@foreach ($logs as $log)はRailsでいう logs.each do |log|
view(第一引数, 第二引数)
view('logs.index', ['logs' => $logs]);
// 第一引数にはビューファイルの場所を渡す
// 'logs.index'とすることで、resources/views/logsのindex.blade.phpを表示する
// 第二引数には、ビューファイルに渡す変数の名称と、その変数の値を記述する
// Railsでいう @logs = logs.all みたいな感じ
// この場合、viewファイルに渡す変数の名称は'logs'
// その中身は $logs(このファイルで定義しているもの)
{{!! e($article->body) !!}}
文章内の改行はそのままに、本文を表示するコードらしいが、くっついてるよくわからないので、以下仮説
nl2br, e(), {!! !!} がそもそもわからなかったので、それぞれ何をやっているかを調べた。
e()で、HTML文字をエスケープする
nl2br()で改行文字\nを<br>に置き換える
{!! !!}は特殊文字をエスケープせずに出力する
処理の順序
e( $article->body )で、bodyの中のHTML文字をエスケープ(改行文字を\nに変換?)
nl2br()で、\nを<br>に変換
{!! !!}で特殊文字<br>をエスケープせずに出力する?
次やること
基本情報午後の対策本ざっと読む
Laravelのコードにコメントをいちいちつけていくのは継続したい