1

我已经使用 Haxe 构建了一个 web 服务,并针对 PHP。输出数据的主要方式是通过汇总查询结果的图像。

但是,我需要将一些变量集成到一个常规的 PHP 文件中,并通过 php 生成的文件和用户编码的 php 文件之间的某种通信使它们可以访问。

我考虑过在 Haxe/PHP 文件中声明一个函数,该函数返回一个包含我想要的所有数据的关联数组,但是我没有足够的 Haxe 环境知识来实现​​它并从 php 文件中访问它。我不确定我应该在 php 端包含什么。

我的问题是:

  • 我的方法是否相关?如果是这样,实现它的最佳方法是什么?
  • 如果没有,你有什么建议?

欢迎任何线索!谢谢你。

4

2 回答 2

3

我不再使用 PHP 目标,但我认为 Haxe 中的所有内容都暴露给 PHP,因此您应该能够导入所需的类。

导入 Haxe 环境

看看生成的index.php

<?php

if(version_compare(PHP_VERSION, '5.1.0', '<')) {
    exit('Your current PHP version is: ' . PHP_VERSION . '. Haxe/PHP generates code for version 5.1.0 or later');
}
;
require_once dirname(__FILE__).'/php/php/Boot.class.php';

server_Server::main();

?>

最后一行“server_Server::main()”可以替换为您想要执行的任何函数调用或操作。默认情况下,它正在执行您指定为“-main”的任何类的“main”方法,在我的例子中,“server.Server.main()”

静态函数调用:

假设我有一个带有公共静态函数的类。在 Haxe 中,我会调用:

  var testPassword = ufront.auth.model.User.generatePasswordHash("test", "test");

在 PHP 中,等效代码类似于:

  $testPassword = ufront_auth_model_User::generatePasswordHash("test", "test");

对象创建:

如果您有一个想要创建的对象:

  var u = new ufront.auth.model.User();

在 PHP 中,这将是:

  $u = new ufront_auth_model_User();

一般想法

返回关联数组或类似简单的 PHP 数据结构中的类型可能是一个好主意,以使其尽可能易于阅读,而不必担心将 Haxe 概念/数据结构转换为 PHP 数据结构。

如果有疑问,请查看 PHP 代码 - 它具有相当的可读性,自 Haxe 3 起更是如此。(如果您已-debug启用,您将在函数中获得相当多的额外代码,以帮助处理堆栈跟踪等,如果您转关闭它可能更容易阅读)。

如果你想弄清楚你需要什么 PHP 语法来做一些你知道如何在 Haxe 中做的事情,用 Haxe 编写它,然后查看生成的 PHP 代码。复制/粘贴/修改到您心中的内容。

祝你好运 ;)

于 2013-07-01T03:18:58.543 回答
2

您可能需要桥接的基本数据结构之间存在一些差异,如果需要,可以使用php.Lib- 来完成。

除了 Haxe 和 PHP 之间的差异之外,您应该考虑到 Haxe 生成的类只有公共成员。除此之外,它们在 PHP 中完全可用。

如果您先进行相应的外部声明,您还可以从 Haxe 实例化 PHP 类。

于 2013-07-01T11:05:03.880 回答