Rumah pembangunan bahagian belakang tutorial php Belajar membina API dengan PHP dan GraphQL

Belajar membina API dengan PHP dan GraphQL

Jun 19, 2023 pm 03:36 PM
php api graphql

Dengan perkembangan teknologi Internet, seni bina pemisahan bahagian hadapan dan belakang telah menjadi arus perdana pembangunan Web. Dalam seni bina di mana hujung depan dan belakang dipisahkan, API ialah jambatan penting yang menghubungkan hujung depan dan belakang. Apabila membina API, PHP dan GraphQL, sebagai dua rangka kerja teknologi popular, disukai secara meluas oleh pembangun. Artikel ini akan memperkenalkan cara membina API menggunakan PHP dan GraphQL.

1. PHP membina API

PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan web meliputi pembangunan laman web, aplikasi pangkalan data, pemprosesan log, pemprosesan imej dan aspek lain. Apabila membina API, PHP boleh digunakan sebagai bahasa back-end untuk menghantar data ke front-end dengan berinteraksi dengan front-end.

  1. Pasang PHP

Mula-mula, kita perlu memasang persekitaran PHP. Anda boleh menyemak sama ada PHP telah dipasang secara setempat dengan memasukkan arahan berikut dalam tetingkap baris arahan:

php -v
Salin selepas log masuk

Jika nombor versi PHP dipaparkan, ini bermakna persekitaran PHP telah dipasang. Jika ia tidak dipasang, anda perlu pergi ke [laman web rasmi PHP](https://www.php.net/) untuk memuat turun dan memasangnya.

  1. Pilih rangka kerja

Dalam PHP, terdapat berbilang rangka kerja untuk dipilih, seperti Laravel, Symfony, Zend, dsb. Antaranya, Laravel merupakan rangka kerja yang digunakan secara meluas dalam pembangunan aplikasi web PHP. Berikut ialah langkah-langkah untuk mencipta API menggunakan rangka kerja Laravel.

  1. Buat Projek

Anda boleh mencipta projek Laravel bernama "myapp" secara setempat dengan memasukkan arahan berikut dalam tetingkap baris arahan:

composer create-project laravel/laravel myapp --prefer-dist
Salin selepas log masuk
  1. Buat Pengawal

Sebelum mencipta API, anda perlu mencipta pengawal. Anda boleh mencipta pengawal dengan memasukkan arahan berikut:

php artisan make:controller MyController
Salin selepas log masuk

Dalam MyController, anda boleh menulis kod logik perniagaan API. Contohnya, dalam MyController, anda boleh menulis kod API untuk menanyakan semua maklumat pengguna seperti berikut:

public function getAllUsers()
{
    $users = User::all(); // 查询所有用户信息
    return response()->json($users); // 返回JSON格式的用户信息
}
Salin selepas log masuk

Antaranya, Pengguna mewakili model pengguna, yang boleh ditakrifkan melalui ORM Eloquent Laravel.

  1. Penghalaan

Dalam Laravel, permintaan API boleh diproses melalui penghalaan. Anda boleh menambah penghalaan pada API yang baru anda buat dengan menggunakan kod berikut:

Route::get('/users', 'MyController@getAllUsers');
Salin selepas log masuk

Antaranya, '/users' mewakili alamat URL permintaan dan 'MyController@getAllUsers' mewakili kaedah pengawal yang mengendalikan permintaan itu.

  1. Jalankan projek

Akhir sekali, anda boleh menjalankan projek Laravel yang dibuat dengan arahan berikut:

php artisan serve
Salin selepas log masuk

Dengan mengakses 'http://localhost : 8000/pengguna' untuk melihat data format JSON bagi semua maklumat pengguna.

2. API pembinaan GraphQL

Berbanding dengan API RESTful, kelebihan GraphQL ialah ia membolehkan bahagian hadapan memulakan pertanyaan yang tepat untuk mendapatkan data yang diperlukan, mengurangkan tekanan pertanyaan pangkalan data . Di bawah ini kami memperkenalkan cara menggunakan GraphQL untuk membina API.

  1. Pasang GraphQL

GraphQL boleh dimulakan sebagai perkhidmatan API bebas, jadi ia perlu dipasang terlebih dahulu. GraphQL boleh dipasang melalui arahan berikut:

npm install graphql-yoga
Salin selepas log masuk
  1. Buat Skema

Dalam GraphQL, anda perlu menulis Skema untuk mentakrifkan antara muka API. Skema menerangkan jenis setiap jenis data, jenis pulangan setiap medan, dan parameter input dan output kaedah. Sebagai contoh, dalam Skema ini, kita perlu menentukan jenis Pengguna dan antara muka untuk menanyakan semua maklumat pengguna. Kodnya adalah seperti berikut:

const typeDefs = `
  type User {
    id: ID!
    name: String!
    email: String
  }
  type Query {
    getAllUsers: [User]!
  }
`;
Salin selepas log masuk
  1. Tulis Penyelesai

Penyelesai melaksanakan setiap medan dalam Skema dan menerangkan cara mendapatkan data. Dalam contoh ini, kod Penyelesai untuk menanyakan semua maklumat pengguna adalah seperti berikut:

const resolvers = {
  Query: {
    getAllUsers: async () => {
      const users = await User.find();
      return users;
    },
  },
};
Salin selepas log masuk
  1. Jalankan projek

Akhir sekali, jalankan perkhidmatan GraphQL Anda boleh memulakan perkhidmatan dengan arahan berikut :

const { GraphQLServer } = require('graphql-yoga');

const server = new GraphQLServer({ typeDefs, resolvers });
server.start({ port: 4000 }, () =>
  console.log(`Server is running on localhost:4000`)
);
Salin selepas log masuk

Dengan mengakses 'http://localhost:4000/graphql', anda boleh menggunakan alat GraphQL Playground untuk menguji API.

Kesimpulan

Artikel ini menerangkan cara membina API menggunakan PHP dan GraphQL. Dalam PHP, anda boleh menggunakan rangka kerja Laravel untuk mencipta API, dan dalam GraphQL, anda boleh menggunakan graphql-yoga. Dengan mengkaji kandungan artikel ini, saya percaya bahawa pembaca mempunyai pemahaman tertentu tentang cara menggunakan PHP dan GraphQL untuk membina API, dan boleh cuba menerapkannya dalam projek sebenar.

Atas ialah kandungan terperinci Belajar membina API dengan PHP dan GraphQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles