Rumah  >  Artikel  >  rangka kerja php  >  Dalam direktori manakah fail penghalaan laravel?

Dalam direktori manakah fail penghalaan laravel?

青灯夜游
青灯夜游asal
2022-04-28 13:07:474788semak imbas

Fail penghalaan Laravel berada dalam direktori "laluan". Semua fail penghalaan dalam Laravel ditakrifkan dalam direktori laluan, dan kandungan di dalamnya akan dimuatkan secara automatik oleh rangka kerja terdapat empat fail penghalaan lalai dalam direktori ini untuk digunakan oleh pintu masuk yang berbeza: web.php, api.php, konsol. php tunggu.

Dalam direktori manakah fail penghalaan laravel?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Laravel 6, komputer DELL G3.

Sangat mudah untuk mentakrifkan laluan dalam Laravel, hanya lulus URI dan penutupan.

Route::get('foo', function () {
    return 'Hello World';
})

Semua laluan dalam Laravel ditakrifkan dalam direktori laluan, dan kandungan dalam direktori ini akan dimuatkan secara automatik oleh rangka kerja. Terdapat empat fail penghalaan lalai dalam direktori laluan untuk digunakan oleh pintu masuk yang berbeza: web.php, api.php, console.php dan channels.php.

  • Laluan yang terkandung dalam fail web.php semuanya berada dalam kekangan kumpulan middleware web yang ditakrifkan oleh RouteServiceProvider, sekali gus menyokong fungsi Sesi, perlindungan CSRF dan Cookie Jika aplikasi melakukannya tidak perlu menyediakan stateless Untuk API RESTful, penghalaan pada asasnya ditakrifkan dalam fail web.php.

  • Laluan yang terkandung dalam fail api.php berada dalam kekangan kumpulan perisian tengah api dan menyokong fungsi mengehadkan kekerapan Laluan ini tidak mempunyai kewarganegaraan, jadi permintaan memasuki aplikasi melalui laluan ini perlu lulus Pengesahan token berlaku dan keadaan sesi tidak boleh diakses.

  • Fail console.php digunakan untuk mentakrifkan semua arahan konsol berasaskan penutupan tidak mentakrifkan penghalaan HTTP, ia mentakrifkan kemasukan aplikasi berasaskan konsol (penghalaan). Fail

  • channels.php digunakan untuk mendaftarkan semua saluran siaran acara yang disokong oleh aplikasi.

Banyak projek dibangunkan pada dasarnya menggunakan route/web.php sebagai titik permulaan, yang dapat menyedari keperluan untuk membangunkan projek dengan cepat. Laluan yang ditakrifkan dalam route/web.php boleh diakses terus dalam penyemak imbas. Sebagai contoh, masukkan alamat http://your-app.dev/user dalam penyemak imbas untuk mengakses laluan berikut:

Route::get('/user', 'UsersController@index');

Laluan yang ditakrifkan dalam route/api.php bersarang dalam In the routing kumpulan, ini ditetapkan dalam RouteServiceProvider. Laluan dalam kumpulan ini semuanya menggunakan awalan URI /api, jadi anda tidak perlu menambah awalan ini secara manual apabila anda menentukan laluan. Jika anda tidak mahu menggunakan awalan /api, anda boleh mengubah suainya dalam RouteServiceProvider.

/**
 * Define the "api" routes for the application.
 *
 * These routes are typically stateless.
 *
 * @return void
 */
protected function mapApiRoutes()
{
    Route::prefix('api')
         ->middleware('api')
         ->namespace($this->namespace)
         ->group(base_path('routes/api.php'));
}

Kaedah penghalaan yang tersedia

Setiap jenis permintaan HTTP mempunyai kaedah penghalaan sepadan yang tersedia:

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

Kadangkala Satu laluan perlu dapat memadankan pelbagai jenis permintaan Dalam kes ini, kaedah padanan boleh digunakan.

Route::match(['get', 'post'], '/', function () {
    //
});

Jika anda mahu laluan sepadan dengan semua jenis permintaan, gunakan sebarang kaedah:

Route::any('foo', function () {
    //
});

Perlindungan CSRF

Gunakan Laluan : Laluan yang ditakrifkan oleh :post, Route::put, Route::patch dan Route::delete memerlukan borang HTML yang mengaksesnya mesti melepasi token CSRF, jika tidak permintaan itu akan ditolak. Anda boleh membaca lebih lanjut mengenai ini dalam dokumentasi CSRF.

<form method="POST" action="/profile">
    {{ csrf_field() }}
    ...
</form>

Ubah hala

Jika anda ingin mengubah hala satu laluan ke laluan lain, anda boleh menggunakan kaedah Route::redirect. Ini menjimatkan beberapa masalah dalam menentukan laluan atau pengawal lengkap untuk mengendalikan ubah hala mudah:

Route::redirect(&#39;/here&#39;, &#39;/there&#39;, 301);

Lihat Penghala

Jika anda hanya mahukan kesederhanaan Untuk mengembalikan paparan, anda boleh menggunakan kaedah Route::view, yang serupa dengan kaedah Route::redirect dan menjimatkan beberapa masalah. Parameter pertama kaedah paparan ialah URI, dan parameter kedua ialah nama paparan. Selain itu, anda juga boleh menggunakan parameter jenis tatasusunan ketiga pilihan untuk menghantar data ke paparan:

Route::view(&#39;/welcome&#39;, &#39;welcome&#39;);
Route::view(&#39;/welcome&#39;, &#39;welcome&#39;, [&#39;name&#39; => &#39;Taylor&#39;]);

[Cadangan berkaitan: tutorial video laravel]

Atas ialah kandungan terperinci Dalam direktori manakah fail penghalaan laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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