Bagaimana untuk menyediakan penghalaan dalam rangka kerja Penerbangan?

王林
Lepaskan: 2023-06-03 09:04:02
asal
1152 orang telah melayarinya

Dengan peningkatan bilangan aplikasi web, rangka kerja pembangunan web telah menjadi bahagian penting dalam pembangunan aplikasi web moden. Hari ini kita akan memperkenalkan rangka kerja web yang popular - Penerbangan, dan cara menyediakan penghalaan dalam Penerbangan.

Penerbangan ialah rangka kerja web minimalis yang dioptimumkan untuk aplikasi web kecil dan API JSON. Ia dicirikan dengan ringan, mudah dipelajari dan digunakan serta tidak mempunyai fail konfigurasi yang menyusahkan. Ia menyediakan fungsi penghalaan asas yang boleh menjadikan struktur kod anda lebih jelas dan lebih teratur.

Dalam Penerbangan, penghalaan ialah proses memetakan URL kepada pengendali tertentu. Penghala ialah pengawal pusat yang mengendalikan penghalaan permintaan HTTP. Penghalaan menyediakan mekanisme capaian yang mudah tetapi berkesan untuk aplikasi web menggunakan gabungan kaedah HTTP, URL dan pengendali.

Di bawah ini kami akan memperkenalkan cara mengkonfigurasi penghalaan dalam Penerbangan dengan contoh.

Pertama, kita perlu tahu bahawa pengendali boleh menjadi fungsi atau kaedah. Kaedah umum untuk menentukan laluan dalam Penerbangan ialah:

Flight::route($method, $route, $callback)
Salin selepas log masuk

di mana $method ialah kaedah HTTP (GET, POST, PUT, DELETE) dan $route ialah laluan URL (bermula secara relatif kepada laluan akar aplikasi anda ), $callback ialah fungsi atau kaedah pemprosesan.

Sebagai contoh, jika kita perlu menentukan laluan untuk permintaan GET dan bertindak balas, kita boleh menulis pengendali seperti berikut:

Flight::route('GET /hello', function(){
    echo 'Hello, world!';
});
Salin selepas log masuk

Ini akan menentukan laluan untuk permintaan GET yang bertindak balas kepada URL /hello dan cetak Output "Hello, world!".

Anda boleh menggunakan kelas definisi laluan abstrak untuk memudahkan definisi laluan. Sebagai contoh, contoh mentakrifkan kelas pengawal bernama "UserController" dan menggunakannya untuk mengendalikan laluan berkaitan pengguna adalah seperti berikut:

class UserController {
 
  public static function register() {
    // some registration logic here
  }
}

Flight::route('GET /user/register', ['UserController', 'register']);
Salin selepas log masuk

Contoh di atas menunjukkan cara untuk mengikat penghalaan logik pemprosesan kepada UserController The kaedah daftar, tidak kira kaedah mana, boleh melaksanakan penghalaan pemajuan, iaitu, menyerahkan permintaan URL kepada pengendali yang sepadan untuk diproses.

Selain tetapan penghalaan asas, Flight juga menyediakan fungsi penghalaan yang lebih maju berikut:

  1. Penghalaan dengan parameter

Dalam Penerbangan, Anda boleh menentukan parameter laluan dengan menggunakan ruang letak dalam URL. Contohnya:

Flight::route('GET /user/@id', function($id){
    echo 'User ID: ' . $id;
});
Salin selepas log masuk

Apabila /user/123 diminta, pembolehubah $id akan mengandungi 123.

  1. Laluan dengan ungkapan biasa

Jika anda perlu mengesahkan parameter laluan tertentu, anda boleh menggunakan ungkapan biasa. Contohnya:

Flight::route('GET /user/@id:[0-9]+', function($id){
    echo 'User ID: ' . $id;
});
Salin selepas log masuk

Dalam contoh ini, laluan hanya akan sepadan dengan parameter id yang terdiri daripada nombor.

  1. Pengumpulan Laluan

Pengumpulan Laluan ialah cara yang cekap untuk mengumpulkan berbilang laluan bersama dan berkongsi beberapa fungsi yang sama antara berbilang laluan atau harta benda. Dalam Penerbangan, anda boleh menentukan kumpulan penghalaan dengan menggunakan kaedah kumpulan(). Contohnya:

Flight::route('/user', function(){
    Flight::render('user/list', array('users' => $users));
});

Flight::route('/user/@id', function($id){
    $user = User::find($id);
    Flight::render('user/view', array('user' => $user));
});

Flight::route('/user/create', function(){
    Flight::render('user/create');
});

//定义分组
Flight::group('/admin', function(){
    Flight::route('/user', function(){
        $users = User::getAll();
        Flight::render('admin/user/list', array('users' => $users));
    });

    Flight::route('/user/create', function(){
        Flight::render('admin/user/create');
    });
});
Salin selepas log masuk

Dalam contoh di atas, kami mula-mula mentakrifkan satu set laluan untuk awalan URL pengguna, dan kemudian kami menentukan laluan untuk awalan URL /admin untuk operasi berkaitan pentadbir pengguna. Dalam kumpulan ini, kami menentukan dua laluan baharu yang bergantung pada laluan lain dalam kumpulan dan suntikan pergantungan.

Rangka kerja Penerbangan menyediakan cara yang cekap untuk bertindak balas dengan pantas kepada permintaan web. Menggunakan sintaks ringkas dan fungsi berkuasa, Flight membolehkan pembangun web melaksanakan tugas yang membosankan dengan cepat dan mudah seperti pengurusan laluan dan pengendalian permintaan.

Saya harap artikel ini dapat membantu anda memahami cara menyediakan penghalaan dalam rangka kerja Penerbangan.

Atas ialah kandungan terperinci Bagaimana untuk menyediakan penghalaan dalam rangka kerja Penerbangan?. 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