Laravel/controllerからviewへの変数の受け渡し

変数を一つ受け渡す場合
compact関数の場合
testController.php
public function test() {
    $test_1 = "テスト";
    return view('test.normal',compact('test_1'));
}
withメソッドの場合
testController.php
public function test() {
    $test_1 = "テスト";
    return view('test.normal')->with('test_1',$test_1);
}
View
送られてきた変数は{{$test_1}}


複数の変数の送信
compact関数の場合
testController.php
public function test() {
    $test_1 = "テスト1";
    $test_2 = "テスト2";
    return view('test.normal',compact('test_1','test_2'));
}
withメソッドの場合
testController.php
public function test() {
    $test_1 = "テスト1";
    $test_2 = "テスト2";
    return view('test.normal')->with([
       "test_1" => "テスト1",
       "test_2"  => "テスト2",
    ]);
}
View
normal.blade.php
送られてきた変数1は{{$test_1}}
送られてきた変数2は{{$test_2}}


配列を受け渡す場合
testController.php
public function test() {
    $test_array = ["テスト1","テスト2", "テスト3"];
    return view('test.normal',compact('test_array'));
}
View
normal.blade.php
送られてきた配列の要素1は{{$test_array[0]}}
送られてきた配列の要素2は{{$test_array[1]}}
送られてきた配列の要素3は{{$test_array[2]}}


postで受け取ったデータ
form.blade.php
form action="form_post" method="post" accept-charset="utf-8">
        
        {!! csrf_field() !!}
        
        input type="text" name="textbox" value="">
        
        label>
            input type="radio" name="radio-btn" value="選択1"> 選択1
        /label>
        label>
            input type="radio" name="radio-btn" value="選択2"> 選択2
        /label>
        input type="submit" value="送信" >
/form>
postを受け取るcontroller
Requestクラスのallメソッドを使用しpostで送られたデータを取得。送信方法は通常の変数と同じ。
testController.php
    public function form_post(Request $request) {
        //ポストデータすべての取得
        $post_data = $request::all();
        return view('test.form_post',compact('post_data'));
    }
allメソッドでは連想配列で返されるので、view側では連想配列の展開
form_post.blade.php
テキストボックスは{{$post_data['textbox']}}
ラジオボタンは{{$post_data['radio-btn']}}