【发布时间】:2011-03-14 06:09:13
【问题描述】:
有哪些框架/工具可以帮助从 PHP 运行 javascript? PHP 有没有类似harmony project 的东西?我希望直接从 PHP 执行 JS 单元测试(甚至更好,BDD),灵感来自 this post(对于 Ruby)。是不是要求太多了?
【问题讨论】:
标签: php javascript unit-testing tdd bdd
有哪些框架/工具可以帮助从 PHP 运行 javascript? PHP 有没有类似harmony project 的东西?我希望直接从 PHP 执行 JS 单元测试(甚至更好,BDD),灵感来自 this post(对于 Ruby)。是不是要求太多了?
【问题讨论】:
标签: php javascript unit-testing tdd bdd
实际上有Spidermonkey PECL extension,它在 PHP 中嵌入了 mozilla Javascript 解释器。然而,它不会提供浏览器拥有的document.whatever 对象树。所以我不确定你可以用这个完成哪种 JS 单元测试。
也许您可以像 Ruby 项目一样使用 env.js 和 co。但是我不知道是否存在用于此类目的的预制设置或框架(很可能不存在)。不确定的答案就这么多。
如果你只是想用类似 jQuery 的特性来探索用户界面,那么 phpQuery 可能是一个选择。
【讨论】:
如果您需要在服务器上从 PHP 运行一些 Javascript 代码,spidermonkey 扩展可能就是您正在寻找的(引用):
此扩展程序允许您嵌入 Mozilla 的 Javascript 引擎 PHP 中的蜘蛛猴。
我已经用过几次了——为了好玩——效果还不错;但请注意,我从未在生产环境中使用过它(也不知道谁会这样做)。
【讨论】:
如果你想在服务器端执行 javascript,你应该试试 mozilla 的 Rhino。它是 spidermonkey 的姊妹项目,用 Java 编写。它旨在用于您希望在服务器上运行语法有效的客户端代码的情况(并且,仅供参考,为 google 的闭包编译器提供了基础)。 它不是 javascript-in-php 的即时解决方案,但正如此处 http://ejohn.org/blog/bringing-the-browser-to-the-server/ 所演示的,它可用于客户端代码的服务器端测试。
【讨论】: