2016-02-21 18 views
0

我写过一个游戏。在PhP中运行Javascript函数或线程

这是一个异步回合制游戏,每个人在当天的任何时间登录,提交他们的订单,并在一天结束的某个时间,本回合得到解决。

但是,客户端需要知道如何解决以前的转折,因为它必须以可视化方式显示它的所有细微差别。我用javascript写了这个回合分辨率。

不幸的是,现在还有一个保密要素。所以我不能只将目前的所有数据发送给某个机器,让它在代码中使用它的分辨率的javascript函数,然后将它发送回数据库供其他人登录时收集。为什么不呢?因为这个人可以捕获数据,所以在允许其发送回来之前,先查看来自其他玩家的秘密位。

这意味着我必须在PhP中完全重写我的JavaScript代码,所以本轮的秘密转向解决方案可以在服务器上私下完成。

所以这是我的问题。为了帮助我不得不编写我的回合解决方案代码两次,一次在客户端(需要从转向分辨率进行视觉解释)和一次在php中的javascript中,因此现在轮到的秘密东西可以在私人环境中完成,是否有任何方式我的PHP代码可以从PHP页面调用我的JavaScript转解析代码?

即,我希望我的php页面能够在js文件中调用一个javascript函数,这一切都是在服务器上完成的。

回答

1

你真的需要在PHP中完成吗?

如果您的托管解决方案支持node.js,您可以直接在您的服务器端应用程序内重用您的JavaScript。

它被称为同构javascript。 (参见:http://isomorphic.net/

另一种方式来做到这一点,将是嵌入JavaScript引擎和PHP(例如:https://github.com/phpv8/v8js)称之为

+0

感谢达米安。你知道任何家用计算机为基础的模拟服务器,如wamp服务器,可以模仿同构的JavaScript吗? – Rewind

+0

您可以查找代表Mongo/Express/Angular/Node.js的MEAN堆栈(http://mean.io/) –