如何打破主要班级" PHP导出的结构?

时间:2016-02-24 17:05:12

标签: php haxe

这是我目前的project.hxml:

-cp Source
-main Login
-php Export/Server
-v

它的作用是使用其中一个类(Login.hx)并将其用作整个PHP服务器的主类。
然而,这对PHP来说并不是非常有用,因为PHP并不真正支持" main"对于要从​​Web上调用服务器的每个函数,您需要一个.php脚本,而不是彼此独立工作。

这里最大的问题显然是"主要" class haxe将所有内容输出到指定的文件夹中,但将Login.hx重命名为index.php 但是,我不希望它成为index.php 我想要的是一个login.php,logout.php,morestuff.php,基本上所有我的haxe类都成为可调用的php脚本,能够像这样调用它们:

/appname/login  
/appname/logout
/appname/morestuff  
etc.

我能想到的实现这一目标的唯一方法是不太好的解决方法。

  1. 创建一个更大的project.hxml文件,使用将每个类输出到自己的文件夹中(所以导出/服务器/登录,导出/服务器/注销等) - 下一步。这会起作用,但也会炸掉大小,因为所有.php文件haxe输出(标准等)都会在这些文件夹中重复。
  2. 有一个实际的Main类,它使用参数来"转发"对实际课程的不同调用。所以基本上调用会变成 / appname / Main?function = login,/ appname / Main?function = logout 等。
    这样会更容易接受,但仍然感觉有点麻烦。
  3. 我不是PHP专家,但可能有一种方法可以在PHP内部进行一些配置。我不愿意。
  4. 当然,必须有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我正在努力解决你遇到的同样问题,这是我能做的最好的事情。 您可以使用以下命令更改hxml文件或命令行选项中的php条目脚本的文件名:

--php-front newfilename.php     

您可能还会发现更改lib目录的位置很有用:

--php-lib ../lib

因此,hxml文件中的完整设置(生成多个php入口点)可能如下所示:

-cp src
-main Main
--php-front joomlahaxe.php
-php bin/com_joomlahaxe/site
-debug

--next
-cp src
-main JoomlahaxeViewJoomlahaxe
--php-front view.html.php   
--php-lib ../../lib
-php bin/com_joomlahaxe/site/views/joomlahaxe