Dalam laravel, peranan penghalaan adalah untuk memajukan permintaan url berbeza pengguna ke program yang sepadan untuk pemprosesan adalah cara untuk dunia luar mengakses aplikasi laravel, dan penghalaan mentakrifkan cara aplikasi Laravel menyediakan perkhidmatan kepada; dunia luar secara khusus, penghalaan laravel ditakrifkan dalam folder laluan.
Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.
Peranan penghalaan adalah untuk memajukan permintaan URL berbeza pengguna ke program yang sepadan untuk diproses penghalaan Laravel, dan empat disediakan secara lalai, di mana fail web.php mentakrifkan permintaan halaman asas.
Dalam laravel, penghalaan ialah cara untuk dunia luar mengakses aplikasi Laravel, atau penghalaan mentakrifkan cara khusus aplikasi Laravel menyediakan perkhidmatan kepada dunia luar. Penghalaan akan menyerahkan permintaan pengguna kepada pengawal dan kaedah yang ditentukan untuk pemprosesan mengikut pelan yang telah dirancang sebelumnya.
Penghalaan asas
Permintaan penghalaan yang paling asas ialah permintaan dapatkan dan hantar Laravel mentakrifkan kaedah permintaan yang berbeza melalui objek Laluan. Sebagai contoh, tentukan permintaan dapatkan dengan url 'req' dan kembalikan rentetan 'get response':
Route::get('req',function (){undefined return 'get response'; });
Apabila saya meminta http://localhost/Laravel/laravel52/public/req dalam get kaedah , pulangan adalah seperti berikut:
Begitu juga, apabila mentakrifkan permintaan siaran, gunakan Route::post(url,function(){});
Penghalaan permintaan berbilang
Jika anda ingin menggunakan pemprosesan yang sama untuk kaedah permintaan berbilang, anda boleh menggunakan padanan atau mana-mana:
Gunakan padanan untuk memadankan permintaan yang sepadan kaedah, contohnya, apabila Apabila meminta req2 melalui get atau pos, respons padanan dikembalikan:
Route::match(['get','post'],'req2',function (){undefined return 'match response'; });
sebarang akan sepadan dengan mana-mana kaedah permintaan, contohnya, meminta req3 dalam mana-mana kaedah akan mengembalikan sebarang respons:
Route::any('req3',function (){undefined return 'any response'; });
Permintaan parameter
Parameter yang diperlukan: Apabila menghantar permintaan dengan parameter, anda boleh menerimanya dalam laluan mengelilingi parameter dengan kurungan kerinting dan memisahkannya dengan /. , contohnya:
Route::get('req4/{name}/{age}', function ($name, $age) {undefined return "I'm {$name},{$age} years old."; });
Lulus parameter apabila meminta dengan get Hasilnya adalah seperti berikut:
Parameter pilihan: Parameter di atas diperlukan. . Jika parameter tiada, ia akan Laporkan ralat Jika anda mahu parameter menjadi pilihan, anda boleh menambah ? jika ia diletakkan di tengah:
Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined return "I'm {$name},{$age} years old."; });
Pembetulan biasa Pengesahan: Parameter dalam permintaan boleh disahkan melalui tempat
Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined return "I'm {$name},{$age} years old."; })->where(['name'=>'[A-Za-z]+','age'=>'[0-9]+']);
Kumpulan penghalaan
Kadangkala penghalaan kami mungkin mempunyai berbilang peringkat, seperti menentukan laluan rumah peringkat pertama mempunyai artikel laluan sekunder, ulasan, dsb. di bawahnya. Ini memerlukan meletakkan artikel dan ulasan dalam kumpulan rumah. Tambahkan awalan rumah pada artikel laluan melalui awalan kunci tatasusunan:
Route::group(['prefix' => 'home'], function () {undefined Route::get('article', function () {undefined return 'home/article'; }); });
supaya laluan boleh diakses melalui rumah/artikel.
Penamaan laluan
Kadangkala anda perlu memberi nama kepada laluan Anda perlu menggunakan kekunci tatasusunan untuk menentukan nama laluan semasa menentukan laluan. Contohnya, jika anda menamakan laluan rumah/ulasan ulasan, anda boleh menggunakan ulasan nama laluan semasa menjana URL dan ubah hala:
Route::get('home/comment',['as'=>'comment',function(){undefined return route('comment'); //通过route函数生成comment对应的url }]);
Outputnya ialah http://localhost/Laravel/laravel52/public/ rumah/ ulasan
[Cadangan berkaitan: tutorial video laravel]
Atas ialah kandungan terperinci Apakah yang dilakukan oleh penghalaan laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!