Rumah > rangka kerja php > Swoole > Cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang

Cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang

WBOY
Lepaskan: 2023-10-21 11:23:09
asal
1570 orang telah melayarinya

Cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang

Cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang

Dengan perkembangan pesat Internet, pembangunan model pemisahan bahagian hadapan dan belakang menjadi semakin popular. Dalam model pembangunan ini, bahagian hadapan bertanggungjawab untuk paparan halaman dan interaksi pengguna, manakala bahagian belakang bertanggungjawab untuk pemprosesan data dan logik perniagaan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang, dan memberikan contoh kod khusus.

  1. Persediaan alam sekitar

Pertama sekali, kita perlu memasang PHP dan Komposer. Kemudian, gunakan Composer untuk memasang rangka kerja Hyperf secara global dengan arahan berikut:

composer global require hyperf/hyperf-skeleton
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk mencipta projek Hyperf baharu:

composer create-project hyperf/hyperf-skeleton your-project-name
Salin selepas log masuk
#🎜 🎜#
    Buat Pengawal
Dalam rangka kerja Hyperf, pengawal bertanggungjawab untuk memproses permintaan dan mengembalikan respons yang sepadan. Kita boleh menggunakan arahan berikut untuk mencipta pengawal baharu:

php bin/hyperf.php gen:controller DemoController
Salin selepas log masuk

Ini akan menjana fail pengawal bernama DemoController dalam direktori app/Controller. Dalam fail ini, kita boleh menentukan pelbagai kaedah antara muka untuk mengendalikan permintaan yang berbeza.

Berikut ialah contoh kod ringkas yang menunjukkan cara mengembalikan respons dalam format JSON:

<?php

declare(strict_types=1);

namespace AppController;

use HyperfDiAnnotationInject;
use HyperfHttpServerAnnotationAutoController;
use HyperfHttpServerAnnotationMiddleware;
use HyperfHttpServerAnnotationMiddlewares;
use HyperfHttpServerContractRequestInterface;
use HyperfHttpServerContractResponseInterface;

/**
 * @AutoController(prefix="demo")
 * @Middlewares({
 *     @Middleware(AppMiddlewareAuthMiddleware::class),
 * })
 */
class DemoController
{
    /**
     * @Inject
     * @var RequestInterface
     */
    private $request;

    /**
     * @Inject
     * @var ResponseInterface
     */
    private $response;

    public function index()
    {
        $data = [
            'message' => 'Hello World',
        ];
        return $this->response->json($data);
    }
}
Salin selepas log masuk

Dalam kod sampel ini, kami mencipta antara muka yang dipanggil Kaedah indeks, kembalikan respons dalam format JSON dengan memanggil kaedah $response->json().

    Buat halaman hadapan
Dalam mod pembangunan di mana hujung depan dan belakang dipisahkan, kami perlu menyediakan dokumen antara muka untuk pembangunan bahagian hadapan supaya mereka boleh memanggil antara muka terminal bahagian belakang. Hyperf menyediakan komponen Swagger yang boleh menjana dokumen antara muka secara automatik. Kita boleh menggunakan arahan berikut untuk memasang komponen Swagger:

composer require hyperf/swagger
Salin selepas log masuk

Kemudian, buat fail konfigurasi swagger.php dalam direktori config/autoload untuk mengkonfigurasi maklumat berkaitan komponen Swagger:

<?php

use HyperfSwggerAnnotation as Swgger;

/**
 * Class DemoController
 *
 * @SwggerApi(tags={"Demo"})
 */
class DemoController
{
    /**
     * @SwggerGet(path="demo/index")
     * @SwggerResponse(code=200, description="成功", @SwggerSchema(ref="#/definitions/Hello"))
     */
    public function index()
    {
        $data = [
            'message' => 'Hello World',
        ];
        return $this->response->json($data);
    }
}
Salin selepas log masuk

Dalam kod sampel ini, kami menggunakan anotasi Swagger untuk menerangkan kaedah indeks, termasuk laluan antara muka, kod respons dan maklumat lain.

    Mulakan perkhidmatan Hyperf
Selepas melengkapkan penciptaan pengawal dan halaman hadapan, kita perlu memulakan perkhidmatan Hyperf supaya bahagian hadapan boleh melepasi antara muka Berkomunikasi dengan bahagian belakang.

Gunakan arahan berikut untuk memulakan perkhidmatan Hyperf:

php bin/hyperf.php start
Salin selepas log masuk

    Hujung hadapan memanggil antara muka hujung belakang
  1. #🎜🎜 Setelah perkhidmatan Hyperf berjaya dimulakan , pembangun bahagian hadapan boleh memanggil antara muka bahagian belakang mengikut dokumen antara muka. Mereka boleh menggunakan mana-mana teknologi bahagian hadapan, seperti JavaScript, Vue.js, React, dsb.

Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan JavaScript untuk memanggil antara muka hujung belakang:

fetch('http://localhost:9501/demo/index')
    .then(response => response.json())
    .then(data => console.log(data));
Salin selepas log masuk

Dalam kod sampel ini, kami menggunakan fungsi ambil untuk menghantar GET request, dan gunakan kaedah json() untuk menghuraikan data respons yang dikembalikan.

Ringkasan

Melalui langkah di atas, kita boleh menggunakan rangka kerja Hyperf untuk membangunkan pemisahan bahagian hadapan dan belakang. Pembangun boleh memilih teknologi bahagian hadapan yang sesuai dengan mereka mengikut keperluan dan keutamaan mereka sendiri, dan memanggil antara muka bahagian belakang mengikut dokumen antara muka. Fungsi berkuasa dan dokumentasi yang kaya bagi rangka kerja Hyperf boleh membantu pembangun membangun dengan lebih cekap.

Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk pembangunan pemisahan bahagian hadapan dan belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan