适用于PHP的可嵌入脚本引擎

时间:2016-07-08 12:48:27

标签: php

不太确定甚至可以调用我想要做的事情。我正在研究PHP中的CRM产品,它需要嵌入异步脚本化工作流,以便使用该软件的客户端能够在某些触发器上执行自定义任务,类似于Microsoft Dynamics CRM中工作流的运行方式。作为一个脚本化的过程,而不是一个视觉设计的过程(会更喜欢视觉,但我想这将作为嵌入选项特别难。

作为示例,每次记录状态更改时,以下伪代码都将异步运行...

BEGIN WORKFLOW
    IF status = ARCHIVED THEN
        new email(to, from, subject, body)
        new sms(to, from, message)
   END IF
END WORKFLOW

但是我这样做我需要能够添加处理程序,以便脚本引擎可以添加添加到我的代码中的函数,整个工作流程需要以一种上下文感知的方式封装启动工作流程的记录。我并不追求软件推荐,因为据我所知,这是不允许的,我正在指出如何做到这一点。

我知道我理论上可以在PHP中完成所有操作并将PHP用作工作流语言但不希望公开所有PHP函数或使工作流程能够影响主应用程序的标准操作,脚本化工作流程必须进行沙盒和限制,以便它们不仅可以使用已经暴露给它们的数据,而且它们也可以只使用我为它们定义的方法来使用它们,而不能访问所有PHP方法或者是能够在应用程序控制之外执行操作,例如包含其他文件。

我知道我也可以简单地设计一个可以轻松处理这个问题的插件框架,但宁愿把它作为一个简化的脚本引擎来完成,在概念上类似于VBA,你可以使用编程但只扩展当前文件。应用程序和可以做什么的限制。

任何帮助都将不胜感激。

0 个答案:

没有答案