Rumah >pembangunan bahagian belakang >tutorial php >Memahami Sistem Routing Laravel &#S [Laravel Beginner Series | Bahagian 2]

Memahami Sistem Routing Laravel &#S [Laravel Beginner Series | Bahagian 2]

Patricia Arquette
Patricia Arquetteasal
2025-01-28 04:07:36446semak imbas

Understanding Laravel

? Mari pergi terus ke tema!

Apakah laluan di Laravel?

Mekanisme penghalaan di Laravel mentakrifkan bagaimana aplikasi bertindak balas terhadap permintaan pengguna. Apabila pengguna mengakses URL atau mengemukakan borang, sistem penghalaan Laravel menentukan apa yang perlu dilakukan seterusnya. Ini mungkin termasuk tontonan yang kembali, melaksanakan operasi pengawal atau data pemprosesan.

Pemprosesan penghalaan Laravel berada dalam folder laluan, terutamanya dalam web.php dan API.php dan fail lain.

?

Tatabahasa yang mudah dan intuitif: Laravel menyediakan cara langsung untuk menentukan penghalaan dengan sintaks kesederhanaannya.
  1. Menyokong pelbagai kaedah HTTP: Laluan di Laravel boleh memproses kaedah HTTP yang berbeza, seperti GET, POST, PUT, DELETE, dll.
  2. Integrasi Middleware: Middleware boleh digunakan untuk penghalaan, dan ia boleh digunakan untuk pengesahan atau rekod log.
  3. Laluan Penamaan: Routing penamaan memudahkan generasi URL dan arah redirect dalam aplikasi.
  4. Kumpulan Laluan: Membayar penghalaan boleh menjadi lebih mudah untuk menggunakan atribut perkongsian, seperti middleware atau awalan.
  5. ?
Routing yang diperlukan oleh permintaan web ditakrifkan dalam fail Laluan/Web.php, dan laluan permintaan API ditakrifkan dalam fail Laluan/API.PHP.

Laluan :: GET: Tentukan kaedah HTTP.
<code>Route::get('/', function () {
    return view('welcome');
});</code>
    /: URL diakses oleh pengguna.
  • fungsi (): Proses fungsi panggil balik permintaan.
  • Lihat ('Selamat Datang'): Kembali ke Welcome.blade.php View.
  • Contoh sebenar: Aplikasi Blog Mudah?
  • Dengan mengandaikan anda sedang membina aplikasi blog, pengguna boleh menyemak senarai pos, semak maklumat terperinci satu siaran, dan tambahkan siaran baru.

Lihat semua jawatan?

di sini, Routing/Posts Routing mendapat senarai pos dan luangkannya ke posts.index View.

Lihat satu siaran?

di sini,/posts/{id} Routing secara dinamik memperoleh jawatan melalui ID dan mengembalikan pandangan terperinci. Jika jawatan tidak wujud, ralat lalai 404 Laravel dipaparkan.

<code>Route::get('/posts', function () {
    $posts = [
        ['id' => 1, 'title' => '第一篇文章', 'content' => '这是第一篇文章的内容。'],
        ['id' => 2, 'title' => '第二篇文章', 'content' => '这是第二篇文章的内容。']
    ];

    return view('posts.index', ['posts' => $posts]);
});</code>
Tambah catatan baru?

/Posts Routing Processing menambah bentuk jawatan baru untuk diserahkan.

Proses pelbagai kaedah HTTP?
<code>Route::get('/posts/{id}', function ($id) {
    $posts = [
        1 => ['title' => '第一篇文章', 'content' => '这是第一篇文章的内容。'],
        2 => ['title' => '第二篇文章', 'content' => '这是第二篇文章的内容。']
    ];

    if (!isset($posts[$id])) {
        abort(404, '帖子未找到');
    }

    return view('posts.show', ['post' => $posts[$id]]);
});</code>
Laravel menyediakan pelbagai kaedah untuk menentukan laluan untuk kata kerja HTTP yang berbeza.

Menghancurkan pengawal penghalaan?

Gunakan pengawal membantu mengekalkan kesederhanaan fail penghalaan dan penyelenggaraan yang mudah. Di sini, logik UserController@Pemprosesan Indeks/Laluan Pengguna.
<code>Route::post('/posts', function () {
    // 添加新帖子的逻辑
    return '已添加新帖子!';
});</code>

?

Laluan yang dinamakan?

Laluan yang dinamakan membolehkan anda mengikuti nama dan bukannya laluan rujukan URL, yang sangat berguna apabila URL diubah.
<code>Route::post('/submit', function () {
    return '表单已提交!';
});

Route::put('/update', function () {
    return '数据已更新!';
});

Route::delete('/delete', function () {
    return '数据已删除!';
});</code>

maka anda boleh menjana URL laluan ini:

<code>Route::get('/users', [UserController::class, 'index']);</code>
Parameter penghalaan?

anda boleh lulus parameter dinamik dalam penghalaan.

parameter penting

parameter pilihan

<code>Route::get('/', function () {
    return view('welcome');
});</code>

Perisian tengah dalam penghalaan?

Perisian tengah boleh menyekat akses atau menjalankan operasi sebelum memproses permintaan.

<code>Route::get('/posts', function () {
    $posts = [
        ['id' => 1, 'title' => '第一篇文章', 'content' => '这是第一篇文章的内容。'],
        ['id' => 2, 'title' => '第二篇文章', 'content' => '这是第二篇文章的内容。']
    ];

    return view('posts.index', ['posts' => $posts]);
});</code>

Dalam contoh ini, hanya pengguna yang disahkan boleh mengakses laluan /profile.

Kumpulan penghalaan ?

Kumpulan laluan membolehkan anda menggunakan sifat kongsi seperti perisian tengah atau awalan. Di sini, semua laluan dalam kumpulan berkongsi awalan pentadbir dan perisian tengah auth.

<code>Route::get('/posts/{id}', function ($id) {
    $posts = [
        1 => ['title' => '第一篇文章', 'content' => '这是第一篇文章的内容。'],
        2 => ['title' => '第二篇文章', 'content' => '这是第二篇文章的内容。']
    ];

    if (!isset($posts[$id])) {
        abort(404, '帖子未找到');
    }

    return view('posts.show', ['post' => $posts[$id]]);
});</code>

Pengikatan model laluan?

Laravel boleh mengikat parameter penghalaan secara automatik kepada model Eloquent. Dalam kes ini, Laravel mendapatkan semula model Post yang sepadan dengan parameter {post}.

Ujian penghalaan?

Laravel menguji laluan dengan mudah menggunakan alatan terbina dalamnya. Anda boleh menggunakan php artisan route:list untuk melihat semua laluan yang ditetapkan dalam aplikasi anda. Perintah ini memaparkan butiran seperti kaedah penghalaan, URI dan perisian tengah yang ditetapkan.

<code>Route::post('/posts', function () {
    // 添加新帖子的逻辑
    return '已添加新帖子!';
});</code>

? Petua tambahan pada penghujung artikel [Mengoptimumkan Laluan Laravel]

  1. Gunakan cache laluan: cache laluan anda untuk meningkatkan prestasi dalam pengeluaran php artisan route:list.
  2. Elakkan lebihan laluan: pastikan laluan mudah dan delegasikan logik kompleks kepada pengawal atau perisian tengah.
  3. Laluan berkaitan kumpulan: Gunakan kumpulan laluan untuk memudahkan kod dan menggunakan fungsi biasa.

? Kesimpulan

Sistem penghalaan Laravel ialah alat yang berkuasa dan fleksibel yang memudahkan pembangunan web. Dengan memahami asas dan memanfaatkan ciri lanjutan seperti perisian tengah, penghalaan bernama dan pengikatan model penghalaan, anda boleh mencipta aplikasi yang ringkas, cekap dan mudah diselenggara.

Laravel mempunyai dokumentasi yang hebat dan sangat baik di sini.

PS: Jika anda mendapati siaran ini bermanfaat, sila like dan kongsikannya! Jika anda mempunyai sebarang soalan untuk saya, sila tinggalkan mesej! Saya ingin bersembang dengan anda! :)

Artikel seterusnya kami akan keluar minggu hadapan!

Atas ialah kandungan terperinci Memahami Sistem Routing Laravel &#S [Laravel Beginner Series | Bahagian 2]. 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