Как я могу использовать коды Java в PHP? - PullRequest
0 голосов
/ 05 августа 2020

У меня есть код php и коды java (ровно 3 java файлов в 1 пакете). Я хочу использовать коды и переменные java в моем коде php.

Думаю, мне следует сначала включить java файл, например,

<?php include 'sample.java'; ?>

, но я не уверен об этом, и даже если это правильно, я не знаю, что делать дальше.

Я нашел старый пример на корейской веб-странице:

// HelloWorld.java
public class HelloWorld
{
String hw = "Hello World";


public String getHelloWorld()
{
return hw;
}
}

// HelloWorld.php
<?
$myObj = new Java("HelloWorld");
echo (string) $myObj->getHelloWorld();
?>

(я думаю, это должно быть <?php ?> не <? ?>, в любом случае они не работали оба) но это не работает, и на моей странице были показаны тексты:

// HelloWorld. java publi c class test {String hw = "Привет, мир"; publi c String getHelloWorld () {return hw; }} // HelloWorld. php

Неустранимая ошибка: Неперехваченная ошибка: класс 'Java' не найден в / моем каталоге / Трассировка стека: # 0 {main} добавлено в / мой каталог /

Как я могу использовать свои коды java в php?

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Прежде всего, java и php имеют разную среду выполнения, поэтому вы не можете включить свой файл java в php. Но вы можете скомпилировать свою часть java в собственную программу и выполнить ее из php с помощью exec() system(). Но тогда вам нужно подумать о том, как получить данные из php в java и результат обратно в php. Но похоже, что ваша часть java не является полной программой, поэтому вам нужно выучить оба языка. Лучше посмотреть, найдете ли вы библиотеку, которая будет иметь ту же функциональность, что и ваши java файлы

0 голосов
/ 05 августа 2020

Вы не можете напрямую включать классы java в свои файлы php. Чтобы выполнить java, вам нужно сначала скомпилировать код java, используя javac, а затем выполнить сгенерированный байт-код, используя java.

Это все еще выполнимо, но процесс немного больше

Вам нужно написать свою java программу, чтобы она работала как программа командной строки, где вы могли бы передавать ей команды / переключатели и в зависимости от ваших параметров вызывать какой-нибудь метод. Затем вам нужно будет создать файл jar из ваших скомпилированных классов и сделать его исполняемым jar, добавив основной класс в MANIFEST-MF.

Например:

java -jar yourjar.jar hello

output :
Hello World

In PHP, вы можете использовать функцию shell_exe c для вызова этого

<?
shell_exec("java -jar /home/workspace/target/yourjar.jar hello");
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...