Что лучший способ состоит в том, чтобы преобразовать существующий php класс в Java?

Вы смотрели на ссылку ниже?
https://docs.mongodb.com/manual/reference/operator/query/or/
Там вы можете найти, как добавить несколько выражений в одном запросе. , Если вы хотите искать заголовки, где заголовок может быть равен A или B, используйте запрос, подобный этому: db.inventory.find( { $or: [ { title: "A" }, { title: "B"} ] } ).
Редактировать
Если вам нужны данные из db для сопоставления обоих выражений в запросе, используйте что-то вроде этого:
Product.find( { $and: [{ address:{city: "CityName"} }, { address: {country : "UK" } } ] } )

6
задан WolfmanDragon 12 December 2008 в 20:36
поделиться

13 ответов

Вы спрашиваете о лучших практиках. Я полагаю, что хорошая практика в Вашем случае является подходом, приятно представленным theman: использование автоматизированного инструмента, вероятно, даст плохой результат: мусор в, мусор...

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

13
ответ дан 8 December 2019 в 02:30
поделиться

Это кажется, что Вы пытаетесь преобразовать кодекс PHP, который является процессуальным в кодовую базу OO.

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

Btw, я был бы также, почему Вы преобразовываете? Это - просто производительность? И если так, нет ли ничто, что можно сделать для устранения проблем производительности. Я не думаю, просто преобразовав от одного языка до другого, зафиксирует его, необходимо будет все еще найти узкое место.

0
ответ дан 8 December 2019 в 02:30
поделиться

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

0
ответ дан 8 December 2019 в 02:30
поделиться

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

0
ответ дан 8 December 2019 в 02:30
поделиться

Я не могу предположить, что инструмент для этого является существующим. Я сделал что-то похожее с C++ und Java. Это - боль, но лучшее является к impement этим Вашим сам.

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

0
ответ дан 8 December 2019 в 02:30
поделиться

В зависимости от кода PHP это может быть почти невозможной задачей. Наоборот намного легче. PHP является очень динамическим языком, и можно сойти с рук вещи, которые невозможны в Java. Одна особенно разрушительная вещь состоит в том, что переменная PHP может изменить тип во время выполнения. Это редко используется, хотя, но это могло произойти. Кроме того, так как PHP свободно вводится, существует много неявных преобразований. Некоторые являются случайными, в то время как другие важны для значения программы. И затем существует то, что код PHP не строго объектно-ориентирован, как Java. Даже в объектно-ориентированных программах PHP, Вы будете обычно видеть определенную степень процедурных элементов. Они не могут быть отображены непосредственно на коде Java.

Как Pyrolistical, мне любопытно относительно того, почему необходимо преобразовать этот код? Если бы это - унаследованный код, разве не было бы лучше сохранить выполнение кода PHP и интерфейс с ним через некоторый сервисный интерфейс (SOAP, RPC, другие)? Вы могли затем постепенно заменять части со временем.

1
ответ дан 8 December 2019 в 02:30
поделиться

Я сказал это в вопросе о Подсказках по Оптимизации PHP, и я повторю его здесь: при выполнении PHP от статической среды (модуль веб-сервера или FastCGI), используйте кэш кода операции, такой как APC. Иначе PHP дал иное толкование/перекомпилировал Вашему коду каждого запроса!

2
ответ дан 8 December 2019 в 02:30
поделиться
2
ответ дан 8 December 2019 в 02:30
поделиться
  1. выбросьте код
  2. перепишите в Java
  3. ????
  4. получите прибыль!
2
ответ дан 8 December 2019 в 02:30
поделиться

Человек является лучшим инструментом.

Я попытался бы переписать php для удаления большинства php функций к чему-то C как. Затем Вам будет легко переписывать в Java.

Но я должен спросить, почему необходимо преобразовать php? Разве Вы не можете перенести php во что-то вызываемое от Java? Таким образом, Вы не добавите ошибок при преобразовании его.

11
ответ дан 8 December 2019 в 02:30
поделиться

Для полноты я должен указать, что существует время выполнения PHP для JVM. Выезд Quercus.

Вы могли бы рассмотреть отъезд Вашей текущей кодовой базы в PHP и просто том, чтобы заставлять это работать на JVM. Можно затем переписать код в Java по мере необходимости.

1
ответ дан 8 December 2019 в 02:30
поделиться

Caucho/Resin server converts PHP Code into Java servlets in run-time!

1
ответ дан 8 December 2019 в 02:30
поделиться

Я бы обычно использовал класс, созданный php5servlet, банку, доступную в tomcat и смоле.

Затем измените файл класса на Java.

приветствует

1
ответ дан 8 December 2019 в 02:30
поделиться
Другие вопросы по тегам:

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