gpt4 book ai didi

php - 任何 Javascript 和 PHP AJAX 接口(interface)生成建议,比如 thrift?

转载 作者:行者123 更新时间:2023-12-01 14:28:59 25 4
gpt4 key购买 nike

我基本上是在寻找 Apache Thrift,但要在 JavaScript over Ajax 和 PHP 之间进行交流。我知道 Thirft 会生成两者,但据我所知,JavaScript 代码必须通过 JSONProtocol 进行通信,而 JSONProtocol 的协议(protocol)尚未用 PHP 编写。

是否有任何其他建议可以推荐?

如果您不熟悉 Thrift,这是我需要的一个简单(大概)定义:

将其视为通用接口(interface)定义语言 (IDL),我在其中设置了一个 User 对象、一个 AuthenticationResult 结果对象和名为 UserCommands.Authenticate() 的方法;

struct User {
1: number id,
2: string firstName,
3: string lastName
}

struct AuthenticationResult {
1: number currentTime,
2: User user
}

service UserCommands {
AuthenticationResult Authenticate(1:string username, 2:string password)
}

我运行一个程序或其他东西,它根据上述创建 JS 和 PHP 库。

然后,在 JS 中,我可以调用(使用有用的类型提示)。

var myAuthResult = UserCommands.Authenticate('myUser', 'myPass');
alert ("My first name is : " + myAuthResult.user.firstName);

在 PHP 中,我会像这样在 UserCommands 类中设置一个方法:

function Authenticate($username, $password) {
$myUser = new User();
$myUser->firstName = "Fred";
$myUser->lastName = "Thompson";
$myAuthResult = new AuthenticationResult ();
$myAuthResult->currentTime = date("U");
$myAuthResult->user = $myUser;
return $myAuthResult;
}

好处是PHP可以返回原生对象,JS可以期望接收到自己的原生对象。整个过程中都提供了可用方法的类型提示,以及预期的参数和返回结果。

如有任何想法,我们将不胜感激!

最佳答案

首先,php中有json_encodejson_decode函数。
其次,有一个针对原生 php 类型的序列化/反序列化
不过,我不明白你在 “...其中的协议(protocol)尚未用 PHP 编写。”下的意思。

此外,还有一个 Haxe语言,可以“编译”成 PHP 和 JavaScript(以及一些其他语言)

关于php - 任何 Javascript 和 PHP AJAX 接口(interface)生成建议,比如 thrift?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com