Laravelでの ControllerからViewへの変数の渡し方 Laravel

Laravelでの ControllerからViewへの変数の渡し方
複数ある
パターン1,2が好みかな

-------------------------------------------
■パターン1

// Controller
$name = Taro Yamada ;
return view( pages.about )->with( name $name);

// View
{{$name}} //エスケープ
{!! $name !!} //非エスケープ

-------------------------------------------
■パターン2

// Controller
$data = [];
$data[ first ] = Taro ;
$data[ last ] = Yamada ;
return view( pages.about $data);

// View
{{$first}} {{$last}}
*データを渡した後、viewでは、キーと同じ名前で変数に入っている
-------------------------------------------
■パターン3

// Controller
return view( pages.about )->with([
first => Taro
last => Yamada
]);

// View
{{$first}} {{$last}}

-------------------------------------------
■パターン4

// Controller
$first = Taro ;
$last = Yamada ;
return view( pages.about compact( first last ));

// View
{{$first}} {{$last}}

-------------------------------------------