pport/rpc

Pport RPC 客户端-服务器实现

安装: 12

依赖: 0

建议者: 0

安全: 0

类型:package

v1.0.2 2022-12-02 18:14 UTC

This package is not auto-updated.

Last update: 2024-09-21 01:57:41 UTC


README

Pport RPC 包:轻松实现后端远程调用。

安装

使用 composer 安装 pport\rpc

composer require pport/rpc

部署服务器和客户端

1. 部署服务器:server.php

<?php

class TestRemoteClass1
{
    public static $api_data;
    public function helloWorld()
    {
        return ['attribute1' => 'TestRemoteClass1 Attribute 1', 'attribute2' => 'TestRemoteClass1 Attribute 2'];
    }
}


class TestRemoteClass2
{
    public static $api_data;
    public function fetchData()
    {
        /**return [
            'data' => ['1', '2', '3', '4']
        ];**/

        return ['1', '2', '3', '4'];
    }

    public function fetchString()
    {
        return "HelloWorld 2";
    }
}

//Run the server
Pport\Rpc\Server::run();
/**Pport\Rpc\Server::verify_request(function (){
    Pport\Rpc\Server::run();
})**/;?>

2. 从前端或其他界面连接到您的服务器:例如 client.php

<?php
    $rpcClient = new Pport\Rpc\Client();
    $rpcClient->set_api_url("https:///epesicloud/pport-rpc/tests/server.php");
    //Call remote class method
    $testRemoteObject1 = TestRemoteClass1::helloWorld();
    //Access returned data  attributes from the returned object/s
    echo $testRemoteObject1->attribute1;
    echo "<br/>";
    echo $testRemoteObject1->attribute2;
    echo "<br/>";
    echo "<br/>";
    //Access returned data  attributes from the returned object/s
    $testRemoteObject2 = TestRemoteClass2::fetchData();
    var_dump($testRemoteObject2);

    //Access String Data
    $fetchedString = TestRemoteClass2::fetchString();
    var_dump($fetchedString);
;?>