Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menulis API menggunakan perisian tengah GraphQL dalam PHP
GraphQL ialah bahasa pertanyaan API yang baru muncul yang membolehkan pembangun membina cara yang fleksibel dan berkuasa untuk memindahkan data antara bahagian hadapan dan bahagian belakang. PHP ialah bahasa sebelah pelayan yang popular sesuai untuk membangunkan pelbagai aplikasi kerana kuasa dan fleksibilitinya. Dalam artikel ini, kami akan meneroka cara menulis API menggunakan PHP dengan perisian tengah GraphQL.
Perisian tengah GraphQL ialah alat yang bertindak sebagai jambatan antara API GraphQL dan kod aplikasi. Ia membantu kami memproses dan menghuraikan pertanyaan GraphQL supaya kami boleh mengurus permintaan data dan proses tindak balas dengan lebih baik. Dalam PHP, kita boleh menggunakan beberapa middleware yang berbeza untuk mencapai ini, termasuk tiga yang berikut:
Selepas pemasangan selesai, kita boleh menggunakan kod berikut untuk memulakan pelayan GraphQL:
<?php require_once(__DIR__ . '/vendor/autoload.php'); use GraphQLServerServerConfig; use GraphQLServerStandardServer; $serverConfig = ServerConfig::create() ->setSchema($schema) //GraphQL schema ->setRootValue($rootValue) //GraphQL查询的根对象 ->setQueryBatching(true) //是否允许GraphQL批量查询 ->setDebug(true); //调试模式 $request = GraphQLServerRequestParser::parse(); $response = (new StandardServer($serverConfig))->processPsrRequest($request); $response->send(); ?>
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setFieldMiddleware([ new ErrorMiddleware(), ]);
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setFieldMiddleware([ new TracingMiddleware(), ]);
ValidateRequestMiddleware ialah perisian tengah yang menyemak sama ada pertanyaan GraphQL adalah sah. Ini membantu kami mengelak daripada menjalankan pertanyaan atau pertanyaan berniat jahat pada API, yang boleh merosakkan pelayan atau mendedahkan maklumat sensitif. Untuk menggunakan ValidateRequestMiddleware, kami perlu menambahkannya pada konfigurasi pelayan GraphQL:
$serverConfig = ServerConfig::create() ->setSchema($schema) ->setRootValue($rootValue) ->setQueryBatching(true) ->setDebug(true) ->setContext($context) ->setValidationRules([ new QuerySecurityRule(), ]) ->setFieldMiddleware([ new ValidateRequestMiddleware(), ]);Dengan cara ini, kami boleh memastikan API kami selamat dan hanya menjawab permintaan pertanyaan yang sah. Di atas ialah kandungan asas menulis API menggunakan perisian tengah GraphQL dalam PHP. Menggunakan perisian tengah boleh memudahkan kod dan membantu kami mengurus proses pemindahan data dengan lebih baik. Untuk pemahaman yang lebih mendalam tentang GraphQL dan PHP, lihat dokumentasi rasmi dan kod sampel untuk lebih banyak kaedah dan petua.
Atas ialah kandungan terperinci Bagaimana untuk menulis API menggunakan perisian tengah GraphQL dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!