@Levhav
Возьмусь за разработку проектов любой сложности.

Существует ли библиотека для трансляции php кода в node.js?

Существует ли библиотека для трансляции php кода в node.js?

Я пока нашёл только это https://php2js.ru/ , но может есть другие более полные решения?

Я пока не планирую это как то использовать, но в целом интересно возможно ли с помощью такого проекта скопилировать на пример wordpress в JavaScript и запустить в node.js
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Технически сам язык конечно же можно перевести в другой, я думаю даже простенькие функции будут работать.
НО! Дальше будет куча но. Обычной трансляцией не обоёдешься, так как много подводных камней и особенностей самого API PHP, принципов работы многих встроенных библиотек, хаков, костылей и просто приёмов которые используют люди в своих проектах и тп.
В таком огромном и сложном проекте как Wordpress этого всего просто нереальное количество.
Вы же понимаете часто даже код больших проектов, в рамках одного языка(любого) тяжело переводить с версии на новую версию. А тут на другой язык/платформу исполнения кода.
Это в любом случае ручной труд, а автоматический транслятор вам только будет помогать переводить конкретные конструкции, а так огромное количество ручного труда для каждого файла/класса/функций и тп.
Технически это возможно, но займёт огромное количество человека-часов, легче с нуля написать.
Второй вариант найти решение с условной виртуальной машиной, которая исполняет php код внутри js окружения. Были когда-то подобные пакеты, но спроса нет и всё заглохло. Это тоже трудоёмкий процесс, нужно бежать и развивать свою такую штуку.
Поэтому сегодня есть только условные прокси на node.js, которые запускают php скрипты на php(тем или иным способом, но исполняет их именно php).
Поэтому мы приходим к технологии WebAssembly, там есть например проект wasmer, с помощью которого можно запускать wasmer-php. Но снова таки, это не трансляция кода, а просто запуск php в среде браузера, js тут уже чисто для управления и запуска самого wasmer...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Нет. В общем случае это невозможно
Ответ написан
Комментировать
@ArtPlotnikov
Не оч понятно зачем, не проще ли node выучить? Но вообще вот, PHP в node https://www.npmjs.com/package/php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы