2013-09-12 6 views
1

Возможно ли создать страницу с PHP, а затем запустить Node.js, чтобы применить к ней некоторые изменения?Mix Node.js и PHP?

В Google я нашел examples интеграции PHP и Node.js, но они всегда представляют собой два разных файла, которые работают вместе с Ajax или другими подобными вещами.

Моя цель, а не является запуск Node.js (или то, что может запустить JavaScript) следующим образом:

$html = "<html> 
      <body>PHP 
       <script>document.body.innerHTML = \"Javascript\";</script> 
      </body> 
     </html>"; 

$html = run_js($html); 

Возможно ли это?

+1

Пожалуйста, объясните, почему вы это сделали? – moka

+0

Технически, да, но я бы не советовал. Что ты пытаешься сделать? – cbednarski

+0

Я получаю страницу с удаленного сервера, и у меня есть около 2 тыс. Строк JS, которые анализируют и редактируют ее, и я хотел бы переместить действие на сервер, не переписывая весь скрипт. –

ответ

6

Нет. Не делайте этого. Это может быть возможно, но это действительно плохая идея. Выберите один технологический стек для своего проекта и придерживайтесь его.

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

Если вы собираетесь даже подумать о добавлении этой сложности в свою систему, вам необходимо понять последствия: это убьет вашу производительность; он создаст кошмар для обслуживания и отладки; это, вероятно, приведет к появлению странных, труднодоступных ошибок.

Короче говоря, я действительно, действительно советую вам не делать этого.

Если вы хотите использовать Node.js, это нормально; используй это. Но не смешивайте его с системой PHP; начать новый проект с нуля.

+0

Мой вопрос только в том, чтобы не переписывать уже существующий JS-скрипт, я знаю, что лучше использовать один язык. –

+0

Я видел комментарии, которые вы писали выше, и благодарим вас за то, что вы делаете; теперь вопрос становится немного более понятным. :) Однако мой угол будет заключаться в том, что мой абзац о последствиях по-прежнему сохраняется. Вы вводите узкое место в производительности и долгосрочную головную болью для обслуживания в целях краткосрочной экономии времени и усилий. И, честно говоря, я даже не уверен, что это сэкономит вам много времени, учитывая, что вам нужно настроить сервер Node и заставить его общаться с вашим PHP-кодом. – Spudley

+0

да, вы правы. –

0

Если вам действительно нужно это сделать, вы можете использовать PHP V8js. Встроенный механизм javascript, с которым работает PHP. PHP V8js. Однако я согласен с другим ответом, что этого следует избегать как можно больше.