Wed Dec 2019 2 years ago

Memahami HTTP Responses(Redirects, Redirecting To Named Routes)

#Redirects

http://tasti.github.io/react-linkify/

Respons pengalihan adalah instance dari kelas Illuminate\Http\RedirectResponse, dan berisi tajuk yang tepat yang diperlukan untuk mengarahkan pengguna ke URL lain. Ada beberapa cara untuk menghasilkan sebuah RedirectResponse instance. Metode paling sederhana adalah dengan menggunakan helper global redirect


Route::get('dashboard', function () {
    return redirect('home/dashboard');
});

 

Terkadang Anda mungkin ingin mengarahkan pengguna ke lokasi sebelumnya, seperti ketika formulir yang dikirimkan tidak valid. Anda dapat melakukannya dengan menggunakan fungsi global back helper. Karena fitur ini memanfaatkan sesi , pastikan rute yang memanggil back fungsi menggunakan web grup middleware atau menerapkan semua middleware sesi:


Route::post('user/profile', function () {
    // Validate the request...

    return back()->withInput();
});

 

#Redirecting To Named Routes

Saat Anda memanggil redirect helper tanpa parameter, instance dari Illuminate\Routing\Redirector dikembalikan, memungkinkan Anda memanggil metode Redirector apa pun pada instance. Misalnya, untuk menghasilkan RedirectResponse  ke rute bernama, Anda dapat menggunakan metode route ini

return redirect()->route('login');

Jika route Anda memiliki parameter, Anda dapat meneruskannya sebagai argumen kedua ke metode route :

// For a route with the following URI: profile/{id}

return redirect()->route('profile', ['id' => 1]);

 

Mengisi Parameter melalui Model Eloquent

Jika Anda mengarahkan ulang ke rute dengan parameter "ID" yang sedang diisi dari model Eloquent, Anda dapat melewati model itu sendiri. ID akan diekstraksi secara otomatis:

// For a route with the following URI: profile/{id}

return redirect()->route('profile', [$user]);

Jika Anda ingin menyesuaikan nilai yang ditempatkan di parameter route, Anda harus mengganti getRouteKey metode pada model Eloquent Anda:

/**
 * Get the value of the model's route key.
 *
 * @return mixed
 */
public function getRouteKey()
{
    return $this->slug;
}
laravel