我不再使用 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 代码。复制/粘贴/修改到您心中的内容。
祝你好运 ;)