Laravel memanggil kaedah pengawal seperti berikut: 1. Panggilan laluan, gunakan definisi laluan untuk menentukan URL yang diminta dan kaedah pengawal yang sepadan 2. Panggilan Middleware, lakukan beberapa operasi sebelum atau selepas permintaan mencapai kaedah pengawal, anda boleh Gunakan middleware dalam pengawal untuk memanggil kaedah pengawal lain 3. Panggilan fungsi tambahan, gunakan fungsi tambahan untuk memanggil kaedah pengawal lain antara kaedah pengawal 4. Panggilan suntikan ketergantungan, anda boleh menyuntik parameter yang diminta terus ke kaedah pengawal untuk memanggil kaedah pengawal; .
Persekitaran pengendalian artikel ini: sistem Windows 10, versi Laravel 9.x, komputer Dell G3.
Dalam Laravel, kaedah pengawal boleh dipanggil dalam pelbagai cara. Beberapa kaedah biasa dibincangkan di bawah.
Melalui kaedah pengawal panggilan
Dalam Laravel, penghalaan ialah cara utama untuk memanggil kaedah pengawal. Anda boleh menggunakan definisi laluan untuk menentukan URL yang diminta dan kaedah pengawal yang sepadan. Berikut ialah contoh:
Route::get('/user/{id}', 'UserController@show');
Dalam contoh di atas, apabila pengguna meminta /user/{id}, kaedah tunjukkan pengawal UserController dipanggil, menghantar id yang diminta sebagai parameter kepada kaedah tersebut.
Perisian tengah pengawal memanggil kaedah pengawal
Laravel menyediakan fungsi perisian tengah yang boleh melakukan beberapa operasi sebelum atau selepas permintaan mencapai kaedah pengawal. Middleware boleh digunakan dalam pengawal untuk memanggil kaedah pengawal lain. Berikut ialah contoh:
class UserController extends Controller { public function __construct() { $this->middleware('auth')->only(['edit', 'update']); } public function edit($id) { // 编辑用户信息 } public function update(Request $request, $id) { // 更新用户信息 } }
Dalam contoh di atas, kaedah edit dan kemas kini pengawal UserController hanya akan dipanggil selepas disahkan oleh perisian tengah auth.
Fungsi pembantu pengawal memanggil kaedah pengawal
Laravel juga menyediakan beberapa fungsi pembantu yang boleh digunakan untuk memanggil kaedah pengawal lain antara kaedah pengawal. Berikut ialah beberapa fungsi tambahan yang biasa digunakan:
fungsi tindakan: URL yang boleh memanggil kaedah pengawal yang ditentukan. Contohnya: action('UserController@show', ['id' => 1]).
fungsi ubah hala: Anda boleh mengubah hala permintaan ke kaedah pengawal yang ditentukan. Contohnya: return redirect()->action('UserController@show', ['id' => 1]).
Suntikan kebergantungan pengawal memanggil kaedah pengawal
Dalam Laravel, anda boleh menggunakan suntikan kebergantungan untuk memanggil kaedah pengawal. Sebagai contoh, parameter permintaan boleh disuntik terus ke dalam kaedah pengawal. Berikut ialah contoh:
class UserController extends Controller { public function show(User $user) { // 显示用户信息 } }
Dalam contoh di atas, Laravel menghuraikan model Pengguna secara automatik dan menghantar contoh Pengguna yang diminta kepada kaedah paparan.
Ringkasan
Cara untuk memanggil kaedah pengawal dalam Laravel termasuk panggilan penghalaan, panggilan middleware, panggilan fungsi tambahan dan panggilan suntikan kebergantungan. Bergantung pada keperluan dan senario khusus, anda boleh memilih cara yang sesuai untuk memanggil kaedah pengawal.
Atas ialah kandungan terperinci Apakah kaedah yang dilakukan oleh pengawal panggilan laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!