想象一下,我有一个在nodejs上编码的功能,因为它实现了一个库,可以很好地解决我的问题,并且我想将此功能添加到另一个PHP脚本中,该脚本可以提供更多的功能。
仅使用shell_exec
调用nodejs脚本是一种好习惯吗?还是应该在它们之间编写标准的通信协议,例如HTTP请求?我编码太多了,而不是仅仅运行shell_exec
吗?
答案 0 :(得分:0)
直接从PHP代码或通过http请求调用脚本的选择完全由您自己决定。但是,您应该明智地衡量成本效果。
如果直接调用该脚本不会损害PHP代码的性能,则完全可以。您还应该考虑这一点的长期影响。如果您要处理的数据会随着时间增长,那么取决于您的算法和数据大小的Big-O效应,那么这将不是一种有效的方法。
全面最佳方法将是走微服务概念的道路。您可以创建一个外部API,该API将在外部(与您的数据一起)执行脚本,然后将结果导入回PHP进程中。这样做的唯一缺点是成本,特别是如果这将需要您获取其他CPU资源时。