Home arrow PHP arrow Page 7 - Using PHP with Java

Beanie Baby - PHP

You probably already know that PHP comes with extensions for awide variety of different technologies. But did you know that you couldhook PHP up to Java, and use Java classes and Java Beans from withinyour PHP scripts? If this is news to you, keep reading.

  1. Using PHP with Java
  2. Getting Started
  3. Rank And File
  4. A Custom Job
  5. Passing The Parcel
  6. An Exceptionally Clever Cow
  7. Beanie Baby
By: Harish Kamath, (c) Melonfire
Rating: starstarstarstarstar / 17
April 03, 2002

print this article


Finally, how about connecting PHP up to a Java Bean? Here's the Bean, a simple Celsius-to-Fahrenheit-to-Celsius converter:


The Bean exposes the following methods:

getCelsius() - get the current value of the Celsius property

getFahrenheit() - get the current value of the Fahrenheit property

setCelsius(num) - set the current value of the Celsius property to num

setFahrenheit(num) - set the current value of the Fahrenheit property to num

convertCelsiusToFahrenheit(value) - convert Celsius value to Fahrenheit

convertFahrenheitToCelsius(value) - convert Fahrenheit value to Celsius

And here's a PHP script which combines user input with the Temperature Bean to perform temperature conversion:

<html> <head><basefont face="Arial"></head> <body> <h2>Temperature Converter</h2> <?php if($submit) { // data type conversion setType($temp,"integer"); $myClass = new Java("Temperature"); if($units == "celsius" && $temp != "") { // use the Celsius functions $myClass->setCelsius($temp); // print result echo $myClass->getCelsius()," <sup>o</sup> Celsius is ",$myClass->convertCelsiusToFahrenheit($myClass->getCelsius())," <sup>o</sup> Fahrenheit."; } else if($units == "fahrenheit" && $temp != "") { // use the Fahrenheit functions $myClass->setFahrenheit($temp); // print result echo $myClass->getFahrenheit() , " <sup>o</sup> Fahrenheit is ", $myClass->convertFahrenheitToCelsius($myClass->getFahrenheit()) , " <sup>o</sup> Celsius."; } else { echo "Please enter a valid temperature and scale"; } } else { ?> <form action="<? echo $PHP_SELF; ?>" method="post"> <input type ="text" name="temp" size="4" maxlength="4"> <select name="units"> <option value="celsius">Celsius</option> <option value="fahrenheit">Fahrenheit</option> </select> <input type ="submit" name="submit" value="Convert"> </form> <? } ?> </body> </html>
This script consists of two parts: the form which allows the user to select a temperature scale and enter a tempterature value, and the form processor which actually uses the Bean to perform the conversion and display the result.

Here's what the form looks like:

Once this form has been submitted, an object is instantiated from the Temperature class, and the information provided by the user is used to perform temperature conversion using the Bean methods described above. The result is then displayed to the user.

Here's what the result looks like:

Note that it's necessary to convert the type of the form variable $temp from string to integer in order to make it compatible with the arguments expected by the Bean - this data type conversion is one of the important issues you will face when accessing Java classes through PHP.

And that's about it for the moment. In case you'd like to learn more, take a look at the following links:

The PHP manual's Java pages, at http://www.php.net/manual/en/ref.java.php

O'Reilly's PHP and Java tutorial on O'Reilly ONLamp.com, at http://www.onlamp.com/pub/a/php/2001/06/14/php_jav.html

PHPBuilder's PHP and Java tutorial, at http://www.phpbuilder.com/columns/marknold20001221.php3

See you soon! Note: All examples in this article have been tested on Linux/i586 with JDK 1.3.0, Apache 1.3.20 and PHP 4.1.1. Examples are illustrative only, and are not meant for a production environment. Melonfire provides no warranties or support for the source code described in this article. YMMV!

>>> More PHP Articles          >>> More By Harish Kamath, (c) Melonfire

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates


Dev Shed Tutorial Topics: