Dalam aplikasi web moden, penggunaan rangka kerja untuk membina perkhidmatan back-end telah menjadi arus perdana. Ini kerana rangka kerja itu mampu menyediakan banyak ciri dan pengoptimuman untuk membangunkan aplikasi berprestasi tinggi dengan cepat. Dalam PHP, terdapat banyak rangka kerja untuk dipilih, dan salah satu rangka kerja yang sangat popular ialah rangka kerja Slim. Ia adalah rangka kerja PHP ringan yang menyediakan set alat yang ringkas namun berkuasa untuk membina aplikasi web berprestasi tinggi.
Dalam teras rangka kerja Slim, komponen penghalaan adalah salah satu bahagian paling asas. Ia boleh memetakan URL dengan mudah kepada fungsi pemprosesan yang sepadan. Dalam artikel ini, kami akan meneroka cara menggunakan komponen penghalaan dalam rangka kerja Slim.
Mula-mula, kita perlu memasang rangka kerja Slim. Anda boleh menggunakan komposer untuk memasangnya. Buka terminal dan masukkan arahan berikut:
composer require slim/slim "^4.0"
Ini akan memasang rangka kerja Slim ke dalam projek PHP semasa.
Sekarang, mari sediakan laluan pertama kami yang akan bertindak balas kepada permintaan HTTP GET ke URL akar dan mengembalikan "Hello World" ringkas mesej. Cipta fail php baharu dalam direktori akar projek dan masukkan kod berikut:
<?php use SlimFactoryAppFactory; use PsrHttpMessageResponseInterface as Response; use PsrHttpMessageServerRequestInterface as Request; require __DIR__ . '/vendor/autoload.php'; $app = AppFactory::create(); $app->get('/', function (Request $request, Response $response) { $response->getBody()->write("Hello World"); return $response; }); $app->run();
Di sini kami menggunakan kelas AppFactory
yang disediakan oleh Slim untuk mencipta contoh aplikasi baharu. Kemudian gunakan fungsi $app->get()
untuk menentukan cara mengendalikan apabila permintaan HTTP GET untuk URL akar diterima. Dalam kes ini, kami menggunakan fungsi tanpa nama mudah untuk mengembalikan respons HTTP dengan mesej "Hello World". Akhir sekali, kami memanggil $app->run()
untuk memulakan aplikasi dan menunggu satu gelung untuk membalas permintaan HTTP.
Seterusnya, kami akan meneroka cara menggunakan parameter dalam laluan. Sebagai contoh, anda mungkin perlu mengekstrak nilai tertentu daripada URL dinamik. Dalam contoh berikut, kami akan memadankan URL bermula dengan "/hello/" dan mengekstrak rentetan berikut sebagai parameter untuk pemprosesan.
$app->get('/hello/{name}', function (Request $request, Response $response, $args) { $name = $args['name']; $response->getBody()->write("Hello, $name"); return $response; });
Dalam kes ini, kami menggunakan pendakap kerinting untuk menentukan parameter. Dalam fungsi tanpa nama, kami menggunakan tatasusunan $args
untuk mengakses parameter.
Dalam sesetengah aplikasi mungkin terdapat keseluruhan sub-laluan dengan struktur penghalaan yang sama. Pada masa ini, kita boleh menggunakan kumpulan penghalaan untuk memudahkan struktur kod. Sebagai contoh, kita mungkin mempunyai URL dengan struktur seperti berikut, dengan versi ialah parameter dinamik:
/api/{version}/users
Dengan menggunakan kumpulan laluan, kita boleh membahagikannya kepada dua bahagian, kumpulan laluan dan laluan berasingan :
$usersRoutes = function ($app) { $app->get('', function (Request $request, Response $response) { $response->getBody()->write("List all users"); return $response; }); $app->get('/{id}', function (Request $request, Response $response, $args) { $id = $args['id']; $response->getBody()->write("Show user with ID $id"); return $response; }); }; $app->group('/api/{version}', function ($app) use ($usersRoutes) { $app->group('/users', $usersRoutes); });
Dalam contoh ini, kami mula-mula mencipta pembolehubah $usersRoutes
, yang menyimpan satu set laluan berkaitan pengguna. Seterusnya, kami mencipta kumpulan penghalaan baharu /api/{version}
di bawah kumpulan penghalaan /users
dan menggunakan $usersRoutes
yang ditakrifkan sebelum ini untuk mengendalikan semua laluan berkaitan pengguna.
Rangka kerja Slim menyediakan sistem penghalaan yang ringkas dan berkuasa yang boleh memetakan URL dengan mudah kepada fungsi pemprosesan. Artikel ini menyediakan beberapa kaedah penggunaan asas Jika anda ingin membina aplikasi yang lebih kompleks, anda perlu membaca dokumentasi rasmi rangka kerja Slim secara mendalam.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan komponen penghalaan dalam rangka kerja Slim?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!