Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk membina API RESTful menggunakan PHP?
Bagaimana untuk membina API RESTful menggunakan PHP? Buat projek dan konfigurasikan penghalaan untuk mengendalikan permintaan pelanggan. Buat pengawal untuk mengendalikan kaedah dalam laluan. Petakan entiti ke jadual pangkalan data dengan memetakan hubungan objek. Jalankan API dan kendalikan pengesahan, pengesahan data dan pengendalian ralat.
Cara membina API RESTful menggunakan PHP
Pengenalan
RESTful API ialah antara muka pengaturcaraan aplikasi rangkaian yang mengikut prinsip REST (Representational State Transfer). REST API membolehkan pelanggan berinteraksi dengan pelayan untuk mendapatkan, mencipta, mengemas kini atau memadam data. Membina API RESTful menggunakan PHP adalah sangat mudah, dan artikel ini akan membimbing anda melalui proses langkah demi langkah. Prasyarat
Konfigurasikan penghalaan
Tentukan laluan dalamconfig/routes.yaml
untuk mengendalikan permintaan daripada pelanggan: composer create-project symfony/skeleton my-api
# config/routes.yaml users: path: /users methods: [GET, POST] controller: App\Controller\UserController
Kes praktikal: Membina API pengguna berikut ialah kes praktikal membina API pengguna mudah:
# src/Controller/UserController.php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class UserController extends AbstractController { /** * @Route("/users", methods={"GET"}) */ public function index(): Response { // 获取用户数据 $users = $this->getDoctrine() ->getRepository(User::class) ->findAll(); // 返回 JSON 响应 return $this->json($users); } }Memetakan hubungan objek
Menggunakan Doctrine ORM untuk memetakan entiti pengguna ke jadual pangkalan data:
# src/Entity/User.php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class User { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $name; // getters and setters omitted for brevity }
config/routes.yaml
中定义路由,用于处理来自客户端的请求:
# config/packages/doctrine.yaml doctrine: dbal: driver: pdo_mysql url: '%env(DATABASE_URL)%' orm: auto_generate_proxy_classes: true naming_strategy: doctrine.orm.naming_strategy.underscore
创建控制器
创建控制器来处理路由中的方法:
php bin/console server:run
实战案例:构建用户 API
以下是一个构建简单的用户 API 的实战案例:
rrreee映射对象关系
使用 Doctrine ORM 将用户实体映射到数据库表:
rrreee运行 API
使用以下命令运行 API:
rrreee现在,你可以在浏览器中访问 /users
Menjalankan API
Jalankan API: rrreee
Kini, anda boleh mengakses/users
dalam penyemak imbas anda untuk mendapatkan data pengguna. Atas ialah kandungan terperinci Bagaimana untuk membina API RESTful menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!