2009-03-05 12 views
2

Possible en double:
invoking a php method from javaappel PHP à partir de Java

Je suis en train d'écrire une classe Java. Et j'ai une certaine logique dans test.php. L'une des méthodes de cette classe Java doit appeler test.php, afin que test.php effectue un calcul et renvoie le résultat à la méthode Java invoquante. Puis-je faire cela avec quelque chose comme le suivant?

Runtime rt = runtime.getRuntime(); 
process exec = rt.exec(test.php); 

Répondre

0

Si vous avez installé un php cli, vous pouvez faire ce que vous avez écrit ici. Il suffit de lancer le fichier php avec la CLI.

2

Vous pourrez peut-être exécuter le script PHP de cette façon, mais produira-t-il le résultat escompté?

appel à PHP fait de cette façon peut fonctionner, mais il manquera tout contexte qu'il peut être nécessaire de travailler (paramètres d'une demande, la portée de la session de l'utilisateur, etc.)

1

Cela fonctionne dans la direction opposée, vous êtes décrivant mais il peut être en mesure d'aider car il est un pont entre les deux langues.

http://www.php.net/manual/en/java.examples-basic.php

PHP a eu un pont Java pendant un certain temps maintenant, mais gardez à l'esprit, il est au plus expérimental.

3

Vous devez utiliser l'API de script JSR-223. Il y a une implémentation PHP qui utilise un pont Java/PHP:

http://php-java-bridge.sourceforge.net/pjb/

Une autre est Java pur: http://www.caucho.com/resin-3.0/quercus/

Je ne l'ai pas utilisé moi-même. Mais le produit Quercus de Caucho l'utilise, donc je suppose qu'il est suffisamment mature pour faire ce dont vous avez besoin.

http://quercus.caucho.com/

Voici quelques autres liens qui peuvent vous aider:

https://scripting.dev.java.net/

http://jcp.org/en/jsr/detail?id=223

Questions connexes