Я в основном ищу Apache Thrift, но говорить между JavaScript через Ajax и PHP.
Я знаю, что Thirft генерирует и то и другое, но, насколько мне известно, код JavaScript должен взаимодействовать с JSONProtocol, протокол которого еще не написан на PHP.
Есть ли другие альтернативы, которые могут предложить?
Если вы не знакомы с Thrift, это простое (иш) определение того, что мне нужно:
Рассмотрим это как общий язык определения интерфейса (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 может ожидать получение собственных собственных объектов.
Подсказки для доступных методов предоставляются с указанием ожидаемых параметров и возвращаемых результатов.
Любые мысли приветствуются!