在PHP之上的迷你脚本语言

时间:2011-05-11 19:29:13

标签: php scripting programming-languages embedded

我正在寻找一种在php上运行的迷你脚本语言,我需要解释简单的公式(电子表格的脚本语言可以做的事情)。我需要的主要是变量和矫揉造作以及数学运算条件和if语句。

前:

如果

(价格1> 360)     结果=(price1 * Q)+ price1 * Q / 17 别的......

3 个答案:

答案 0 :(得分:2)

我建议您查看模板系统中使用的一些概念,例如Smarty并实现您自己的概念。例如,math template允许您执行以下操作:

{* $height=4, $width=5 *}
{math equation="x + y" x=$height y=$width}

如果您想了解如何创建它们的一般准则,您可以抓住math functions from here。由于使用eval()进行计算,因此仍存在问题风险。

此外,here is a class评估RPN(反向波兰表示法)以支持运营商:+, - , *, /, IF, THEN, SWAP, DUP, =, <>, >, <. >=<=

答案 1 :(得分:1)

好吧,你也可以在PHP中编写这些小脚本并使用eval执行它们。但是,因为这就像打开Pandora的盒子一样,你应该真的知道你可以信任传递的代码,然后才把它作为一个可行的选择(即它很危险,真的,特别是如果用户输入这些公式 - 我会<当用户提供要执行的代码时,em> never 使用它们。

另一种选择(可能更安全)是使用某种形式的JavaScript解释器来执行片段。我知道有2个PHP项目可能会有所帮助(即使它们似乎处于休眠状态):j4p5phpjs。如果您可以安装扩展程序,那么PECL with SpiderMonkey可能是更好的选择。

答案 2 :(得分:1)

您可以使用嵌入式翻译,例如Javascript如http://phpjs.berlios.de/或包装命令行调用蜘蛛猴。