Каков наилучший способ преобразовать существующий класс php в Java? - PullRequest
5 голосов
/ 12 декабря 2008

Мне было поручено преобразовать несколько классов php в классы java, что быстро становится для меня кошмаром. Я понимаю базовую структуру языка, она похожа на C. Это все вызовы функций и вызовов классов, которые, похоже, ни к чему не приводят, и тот факт, что переменная может быть объявлена ​​в середине выражения !! это кружит мою голову, о, и тот факт, что есть ноль "0" документации.

Какой метод лучший (и / или) инструмент (и / или) справочный материал для преобразования php в код Java?

edit: есть 3 причины, по которым мне приходится конвертировать php в java.

  1. Обычная причина, мой босс тоже сказал мне.
  2. php слишком медленный, иногда требуется минут для запуска запроса к серверу.
  3. php - это кошмар для масштабирования и поддержки (по крайней мере, для нас строго типизированных типов языков)

Ответы [ 15 ]

0 голосов
/ 21 июля 2017

Я могу найти только два:

1) https://github.com/bafolts/java2php

2) http://www.runtimeconverter.com/

Существует также смола Caucho, но это не точно конвертер. Это реализация php внутри Java.

В интернете много говорится о numiton, но их сайт уже несколько лет закрыт.

0 голосов
/ 12 декабря 2008

Похоже, вы пытаетесь преобразовать процедурный PHP-код в базу OO-кода.

Это не столько вопрос PHP к Java, сколько смена парадигмы. Там нет автоматического способа сделать это, это будет грубо. Особенно, если одна кодовая база написана плохо.

Кстати, я бы тоже почему вы конвертируете? Это просто производительность? И если да, то вы ничего не можете сделать, чтобы исправить проблемы с производительностью. Я не думаю, что просто конвертирование с одного языка на другой это исправит, вам все равно придется найти узкое место.

0 голосов
/ 12 декабря 2008

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

0 голосов
/ 12 декабря 2008

Возможно, вы могли бы написать что-нибудь с помощью Reflection API, чтобы сделать что-то из этого, но вы действительно не могли бы ничего сделать с телами функций - вы бы получили классы-заглушки, которые не имеют реализации.

0 голосов
/ 12 декабря 2008

Я не могу представить, что инструмент для этого существует. Я сделал нечто подобное с C ++ и Java. Это боль, но самое лучшее - помешать ей самим.

Или напишите это на C и создайте dll с jni warpper, чтобы вызывать его из Java. Это должен быть самый быстрый способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...