Merci mais le doc je l'ai déja vu, les exemples présents appel le java a partir du php alors que mois je veu l'inverse j'ai déja testé ce code pour l'affichage de "hello word" ca fonctionne mais quand je veu appelé des fonctions php ca ne marche plus,
ScriptEngineManager scriptManager =
new ScriptEngineManager();Object php2javaResult =
null;ScriptEngine phpEngine = scriptManager.getEngineByExtension(
"php");ScriptContext context = phpEngine.getContext();
// Affichage de "Hello Word"
try {context.setWriter(
new StringWriter());
php2javaResult = phpEngine.eval("<?php echo \"hello world\"; ?>",context);StringWriter writer = (StringWriter) context.getWriter();
System.
out.println(writer.toString());}
catch (Exception ex) {ex.printStackTrace();
}
// Tester l'appel de Fonction php a partir de Java
try {
context.setWriter(
new StringWriter());php2javaResult = phpEngine.eval(
new FileReader("C:\\Test2.php"),context);Invocable inv = (Invocable) phpEngine;
inv.invokeFunction(
"testMessage", "salut" );}
catch (Exception ex) {
ex.printStackTrace();}
Tout en sachant que le contenu de Test2.php est le suivant :
<?php
function
testMessage(msg){
print
("Printing : " + msg+" ");}
?>
Apparement il faut disposer de JSR pour que ca marche pour cela j'ai télécharger quercus-3_1-snap et Wireless Toolkit 2.5 et importé les bibliothéque nécessaire.mais aprés avoir afficher "hello word" il m'affiche le message d :'erreu suivant
java.lang.ClassCastException: com.caucho.quercus.script.QuercusScriptEngine
at info.bliki.quercus.script.test.Test2.main(Test2.java:53)
Merci pour votre réponse peut être cé l'implémentation de l'interface Invocable ou il manque des lib pour le JRS de plus que j'utilise plutot le J2EE et pas JSE...Merci encore....;