Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara membina aplikasi dipacu API menggunakan PHP dan GraphQL

Cara membina aplikasi dipacu API menggunakan PHP dan GraphQL

WBOY
WBOYasal
2023-05-25 08:41:021381semak imbas

Dalam era digital hari ini, banyak aplikasi bergantung pada API (Antara Muka Pengaturcaraan Aplikasi) untuk berinteraksi dengan aplikasi atau perkhidmatan lain. API tradisional menggunakan seni bina RESTful, manakala GraphQL ialah bahasa pertanyaan API baru muncul yang menyediakan penyelesaian antara muka API yang lebih cekap, fleksibel dan berskala. Artikel ini akan memperkenalkan cara menggunakan PHP dan GraphQL untuk membina aplikasi dipacu API.

1. Apakah itu GraphQL?

GraphQL ialah bahasa pertanyaan API dan persekitaran masa jalan. Ia dibangunkan oleh Facebook pada tahun 2012, pada mulanya untuk menyelesaikan isu panggilan API dalaman mereka. Tidak seperti API RESTful tradisional, GraphQL membenarkan aplikasi untuk menerangkan dengan tepat data yang mereka perlukan dan mengembalikan data itu sahaja, memberikan pertanyaan data dan masa tindak balas yang lebih cekap.

Ciri utama GraphQL termasuk:

1 Gunakan sistem jenis untuk mentakrifkan API, serta input dan output pertanyaan dan mutasi.

2. Dengan keupayaan pertanyaan yang fleksibel, pelanggan boleh meminta data yang diperlukan tanpa terpaksa memulangkan data tambahan.

3. Menyokong pertanyaan kecil bersarang dalam berbilang pertanyaan, mengurangkan bilangan penghantaran data dengan pelayan.

4. Menyediakan keupayaan untuk membangunkan dan mengekalkan API dengan cepat.

2. Mengapa menggunakan PHP dan GraphQL?

PHP ialah bahasa pembangunan web yang popular dengan pelbagai bidang aplikasi dan sokongan komuniti yang kukuh. Gabungannya dengan GraphQL boleh menyediakan penyelesaian antara muka API yang lebih fleksibel, cekap dan mudah diselenggara untuk pembangunan web.

Selain itu, GraphQL menyokong berbilang bahasa pengaturcaraan, termasuk PHP, JavaScript, Java, Python, dll. Pada masa yang sama, terdapat banyak projek sumber terbuka yang tersedia untuk pelaksanaan GraphQL dalam PHP, seperti WebonyxGraphQL, YoushidoGraphQL, dsb. Projek ini menyediakan alatan dan penyelesaian yang berkuasa untuk pembangun melaksanakan antara muka API menggunakan GraphQL.

3. Gunakan PHP dan GraphQL untuk membina aplikasi dipacu API

Di bawah ini kami akan menunjukkan cara menggunakan PHP dan GraphQL untuk membina aplikasi dipacu API yang ringkas.

1. Pasang dependensi

Gunakan alat komposer untuk menguruskan pakej kebergantungan PHP Anda boleh melaksanakan perintah berikut dalam terminal untuk memasang GraphQL dengan cepat:

composer require webonyx/graphql-php

2 Skema GraphQL

Skema GraphQL ialah teras titik akhir API Ia mentakrifkan pertanyaan, mutasi, jenis, dsb. dan menyediakannya kepada pelanggan. Kit alat WebonyxGraphQL boleh digunakan untuk mencipta, menghuraikan dan mengesahkan skema dalam PHP.

Contoh skema mudah:

use GraphQLTypeDefinitionObjectType;
use GraphQLTypeDefinitionType;

$queryType = new ObjectType([
    'name' => 'Query',
    'fields' => [
        'echo' => [
            'type' => Type::string(),
            'args' => [
                'message' => Type::string()
            ],
            'resolve' => function ($root, $args) {
                return $args['message'];
            }
        ]
    ]
]);

Kod di atas mencipta jenis Pertanyaan mudah, yang mempunyai medan gema ini menerima parameter mesej dan membiarkan parameter itu dikembalikan.

3. Mulakan perkhidmatan GraphQL

Untuk memulakan perkhidmatan GraphQL, kita perlu menghantar skema yang dibuat sebelum ini kepada perkhidmatan GraphQL Ini boleh dicapai dengan memanggil kaedah servis yang disediakan oleh GraphQL:

use GraphQLGraphQL;
use GraphQLTypeSchema;

$schema = new Schema([
    'query' => $queryType
]);

$input = file_get_contents('php://input');
$json = json_decode($input, true);
$query = isset($json['query']) ? $json['query'] : null;
$variableValues = isset($json['variables']) ? $json['variables'] : null;

$result = GraphQL::executeQuery($schema, $query, null, null, $variableValues);
$output = $result->toArray();
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);

4. Akses API GraphQL

Apabila perkhidmatan GraphQL dimulakan, ia boleh diakses dengan menggunakan mana-mana klien HTTP. Contoh berikut menunjukkan cara meminta API GraphQL menggunakan curl:

curl -X POST -H 'Content-Type: application/json' 
    --data '{ "query": "{ echo(message: "Hello, GraphQL!") }" }' 
    http://localhost:8080/graphql

Perintah di atas akan mengembalikan respons JSON berikut:

{
  "data": {
    "echo": "Hello, GraphQL!"
  }
}

Dalam contoh di atas, kami menunjukkan cara membina API- API dipacu menggunakan aplikasi PHP dan GraphQL. Kecekapan, fleksibiliti dan skalabiliti GraphQL menjadikannya pilihan yang sangat baik untuk membina API moden, manakala prestasi PHP yang berkuasa dan pelbagai aplikasi menjadikannya bahasa pembangunan yang ideal.

Atas ialah kandungan terperinci Cara membina aplikasi dipacu API menggunakan PHP dan GraphQL. 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