Tutorials :PHP and Java: Powerful Forces Combined :

Using Java Classes in PHP Scripts

To begin with, you must know that the PHP/Java Bridge comes with a set of functions (PHP classes) that were especially created to integrate Java code into PHP scripts. Some of these functions are:
  • java: This allows you to access the Java type with the given name. For example:
    java("java.lang.System")->getProperties();
    
  • java_autoload: This allows you to load a set of Java libraries in the current PHP script. For example:
    java_autoload("my_1.jar;my_2.jar");
    
  • java_cast: This allows you to convert a Java object into a PHP value. For example:
    $mystr=new java("java.lang.String","9");$phpnr=java_cast($mystr,"integer");echo $ phpnr;
    
  • java_is_null: This allows you to check if a value is null or not. For example:
    java_is_null(java("java.lang.System")->;getProperty("my_prop"))
    
  • java_session: This allows you to return a session handle. For example:
    $session = java_session();
    
  • java_values: This allows you to evaluate the object and fetch its content (only if this is possible). For example:
    $result = java_values($calcinstance->addAB($term_1,$term_2));
    
    
To make use of these functions, your PHP applications must contain the corresponding PHP classes. The most important class is Java.inc, but the complete list of classes can be seen in the appName/java directory. Through Java.inc, you can obtain instances of Java classes like this:
$calcinstance=new Java("calculator.CalculatorBean");

Author's Note: More functions and their details can be found in the /documentation/API directory of the PHP/Java Bridge distro.

Using PHP Scripts in Java Classes

To invoke PHP methods from Java applications, you must be familiar with the Java API specially developed to perform this task. The most important classes of this API are:
  • javax.script.ScriptEngineManager: This class extends the java.lang.Object class and implements discovery and instantiation mechanisms for the ScriptEngine class.
  • javax.script.ScriptEngine: This is a Java interface that contains only the methods expected to be fully functional in every Java ScriptEngine. It's implemented by classes like AbstractScriptEngine, InteractivePhpScriptEngine, InvocablePhpScriptEngine, InvocablePhpServletScriptEngine,PhpScriptEngine, and PhpServletScriptEngine.
  • javax.script.Invocable: This interface offers methods that allow Java applications to invoke intermediate codes in the underlying scripting interpreter.
Author's Note: More classes and their details can be seen in the /documentation/server/documentation/API directory of the PHP/Java Bridge distro.

Home / Articles / PHP and Java: Powerful Forces Combined / 1 / 2 / Next: Java Classes in PHP Scripts: An Example

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.