Rumah > rangka kerja php > Laravel > Apakah fail konfigurasi penghalaan laravel

Apakah fail konfigurasi penghalaan laravel

PHPz
Lepaskan: 2023-04-21 14:02:41
asal
904 orang telah melayarinya

Apakah itu fail konfigurasi penghalaan Laravel

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan sistem penghalaan yang berkuasa yang boleh memetakan URL kepada kaedah pengawal. Sistem penghalaan Laravel membolehkan kami membuat API RESTful dan aplikasi web dengan mudah, dan membolehkan kami mengendalikan pelbagai permintaan HTTP (GET, POST, PUT, DELETE, dll.) dengan cara yang sangat mudah. Dalam Laravel, laluan terdiri daripada satu atau lebih definisi laluan pukal, yang juga boleh dikumpulkan ke dalam laluan berkumpulan. Artikel ini akan menumpukan pada fail konfigurasi penghalaan Laravel.

Dalam Laravel, laluan boleh ditakrifkan terus dalam fail laluan atau menggunakan fail konfigurasi laluan. Jadi, apakah itu fail konfigurasi penghalaan? Ringkasnya, fail konfigurasi penghalaan Laravel ialah fail PHP yang mentakrifkan penghalaan, yang mengandungi definisi penghalaan, kumpulan penghalaan dan maklumat lain. Meletakkan takrif laluan dalam fail konfigurasi membolehkan kami menukar penghalaan aplikasi dengan hanya mengubah suai fail konfigurasi tanpa mengubah suai kod pengawal.

Fail konfigurasi penghalaan Laravel biasanya disimpan dalam direktori /routes, dan nama fail ialah web.php atau api.php, yang sepadan dengan definisi penghalaan aplikasi Web dan aplikasi API masing-masing. Dalam kedua-dua fail, Laravel menyediakan beberapa kod sampel yang boleh kami gunakan secara langsung untuk mula mereka bentuk laluan aplikasi kami. Contohnya, fail web.php mengandungi laluan sampel:

Route::get('/', function () { 
    return view('welcome');
});
Salin selepas log masuk

Laluan ini mentakrifkan permintaan GET yang mengembalikan paparan bernama "selamat datang" apabila URL ialah "/". Begitu juga, takrifan contohnya laluan disediakan dalam fail api.php. Contohnya:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
Salin selepas log masuk

Laluan ini mentakrifkan permintaan GET Apabila URL ialah "/user", middleware "auth:api" perlu digunakan untuk mengesahkan pengguna dan mengembalikan maklumat pengguna semasa.

Dalam fail konfigurasi penghalaan Laravel, kita boleh menggunakan definisi makro penghalaan untuk memudahkan kod definisi penghalaan. Takrifan makro laluan membolehkan kami membuat templat laluan boleh guna semula dan menggunakannya dalam laluan yang berbeza. Sebagai contoh, kita boleh mentakrifkan definisi makro yang dipanggil "papan pemuka" dalam fail web.php:

Route::macro('dashboard', function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
});
Salin selepas log masuk

Kemudian kita boleh menggunakan definisi makro ini di tempat lain dalam aplikasi:

Route::middleware(['auth', 'verified'])->dashboard();
Salin selepas log masuk

Laluan ini mentakrifkan permintaan GET Apabila URL ialah "/papan pemuka" dan disahkan oleh perisian tengah "auth" dan "disahkan", kaedah indeks dalam kelas DashboardController dipanggil dan dinamakan "papan pemuka" .

Fail konfigurasi penghalaan Laravel juga menyediakan fungsi kumpulan penghalaan. Pengumpulan laluan membolehkan kami menentukan perisian tengah yang sama, awalan bernama, ruang nama dan pilihan lain untuk kumpulan laluan dalam kumpulan penghalaan. Contohnya, dalam fail web.php, kita boleh mencipta kumpulan penghalaan bernama "admin":

Route::prefix('admin')->middleware(['auth'])->group(function () {
    Route::get('/', [AdminController::class, 'dashboard'])->name('admin.dashboard');
    Route::get('/users', [UserController::class, 'index'])->name('admin.users.index');
    Route::get('/users/{id}', [UserController::class, 'show'])->name('admin.users.show');
});
Salin selepas log masuk

Kumpulan penghalaan ini mentakrifkan awalan laluan penghalaan "admin" dan perlu menggunakan "auth" dalam tengah Perisian mengesahkan pengguna dan kemudian mentakrifkan tiga laluan kecil. Apabila URL ialah "/admin", panggil kaedah papan pemuka dalam kelas AdminController dan namakannya "admin.dashboard" apabila URL ialah "/admin/users", panggil kaedah indeks dalam kelas UserController dan namakannya "admin; " .users.index"; apabila URL ialah "/admin/users/{id}", panggil kaedah show dalam kelas UserController dan namakannya "admin.users.show".

Kumpulan laluan juga boleh bersarang untuk mengatur laluan dengan cara yang lebih halus. Sebagai contoh, kita boleh mencipta subkumpulan bernama "tetapan" dalam kumpulan penghalaan "admin" dalam contoh di atas:

Route::prefix('settings')->group(function () {
    Route::get('/', [SettingsController::class, 'index'])->name('admin.settings.index');
    Route::post('/', [SettingsController::class, 'update'])->name('admin.settings.update');
});
Salin selepas log masuk

Subkumpulan ini mentakrifkan awalan laluan penghalaan "tetapan", dan kemudian Dua sub-laluan ditakrifkan, permintaan GET dan permintaan POST, yang masing-masing memanggil kaedah indeks dan kemas kini dalam kelas SettingsController, dan namakannya "admin.settings.index" dan "admin.settings.update".

Ringkasan:

Fail konfigurasi penghalaan Laravel ialah fail PHP yang mentakrifkan penghalaan Ia biasanya disimpan dalam direktori /routes Nama fail ialah web.php atau api.php, yang sepadan kepada aplikasi Web masing-masing dan definisi penghalaan untuk aplikasi API.

Dalam fail laluan, kami boleh menggunakan takrifan makro laluan yang disediakan oleh Laravel untuk memudahkan kod dan kami boleh menggunakan kumpulan laluan untuk mentakrif perisian tengah yang sama, awalan bernama, ruang nama dan pilihan lain untuk sekumpulan laluan .

Kumpulan laluan boleh bersarang untuk mengatur laluan dengan cara yang lebih terperinci.

Atas ialah kandungan terperinci Apakah fail konfigurasi penghalaan laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan