我需要一些PHP代码将一些PHP转换为JS。
- 功能 - 我正在使用php.js中的常用PHP函数
- 语法 - ???
问题在于转换语法。请注意,我不需要完整的PHP语法;不需要支持类定义/声明。以下是需要转换的内容的简要检查清单:
- "." 应该是 "+"(字符串连接)
- "->" 应该是 "."(对象运算符)
- "::" 应该是 "."(类运算符-不是必需的)
请注意,生成的代码与PHP环境几乎无关,因此不需要考虑“如果它使用PHP类会怎样?”。
我不是要求完整的代码,只是提示正确的方向进行这种转换;我想过使用状态机/引擎。
如果您想知道为什么我要将代码推送到用户端:我需要一种动态方式根据某些条件更改某些元素的可见性。我的计划是这样做,而不必执行此代码服务器端并进行不必要的ajax调用。
编辑:看吧,我知道不使用AJAX听起来对你们来说很荒谬,但世界不是建立在炒作和听起来好的设计条件(=ajax)上的。我简单地无法承受每个用户每秒轮询我的服务器5到10次,只是为了让我的服务器返回“是”或“否”的答案。请记住,切换是异步的,我不能缓冲AJAX调用。
编辑2:我确定在我这种情况下所做的是最好的方式。没有“可能更好”的方法,因此停止发布非建设性的评论。我已经不能再详细地介绍了。将PHP代码转换为JS只是缩短用户输入的问题;我们只需要一个表达式,然后将其转换为必要的语言(在这种特定情况下,从PHP转换为JS)。无论我是否将系统描述到API规范,这些工作条件都不会改变,淹没主题与无用的(对您而言)原型文档毫无帮助。
此外,对于那些认为这个想法是从某个梦中醒来的人,请注意,这已经在技术开发和QA之间进行了审查,因此请不要偏离不存在的设计问题。
编辑3:示例(原始PHP代码和预期输出):
- (原始)--(转换)
5 ==“test”
-5 ==“test”
'$'。(func(12)*10)
-'$'+(func(12)*10)
Fields::count()==5
-Fields.count()==5
$this->id==5
-this.id==5