Какие фреймворки / инструменты / методы доступны для запуска javascript из PHP? - PullRequest
0 голосов
/ 14 марта 2011

Какие существуют фреймворки / инструменты для запуска javascript из PHP? Есть ли что-то вроде проекта гармонии для PHP? Я надеюсь выполнить модульные тесты JS (или даже лучше, BDD) непосредственно из PHP, вдохновленный этим постом (для Ruby). Я спрашиваю слишком много?

Ответы [ 3 ]

1 голос
/ 14 марта 2011

Если вам нужно запустить некоторый код Javascript из PHP, на сервере расширение spidermonkey может быть тем, что вы ищете (цитирование) :

Это расширение позволяет вам встраивать движок JavaScript Mozilla Spidermonkey в PHP.

Я использовал его - для удовольствия - пару раз, и это былоработает не так уж плохо;но обратите внимание, я никогда не использовал его в производственной среде (и не знаю никого, кто это делает) .

1 голос
/ 14 марта 2011

Вам следует попробовать Mozilla's Rhino, если вы хотите выполнить javascript на стороне сервера. Это дочерний проект для spidermonkey, написанный на Java. Он был разработан для использования в тех случаях, когда вы хотите, чтобы синтаксически действительный клиентский код выполнялся на сервере (и, к слову, обеспечивает основу для компилятора google-закрытия). Это не мгновенное решение для javascript-in-php, но, как показано здесь http://ejohn.org/blog/bringing-the-browser-to-the-server/,, его можно использовать для тестирования клиентского кода на стороне сервера.

1 голос
/ 14 марта 2011

На самом деле существует расширение PECL *1001* Spidermonkey, которое встраивает интерпретатор JavaScript Mozilla в PHP. Однако он не предоставит дерево объектов document.whatever, которое есть в браузерах. Поэтому я не уверен, какой тип юнит-тестов JS вы могли бы выполнить с помощью этого.

Может быть, вы можете использовать env.js и co, как это делает проект Ruby. Но я не знаю, существует ли заранее созданная установка или фреймворк для таких целей (скорее всего, нет). Так много за неубедительный ответ.


Если вы просто хотите проверить пользовательский интерфейс с помощью функций, похожих на jQuery, тогда phpQuery может быть вариантом.

...