note 91456 added to java.examples

From: Date: Wed, 10 Jun 2009 17:18:47 +0000
Subject: note 91456 added to java.examples
Groups: php.notes 
Request: Send a blank email to php-notes+get-156750@lists.php.net to get a copy of this message
Java - php class Third-party classes are used within a PHP application, I'll create a simple Java class that calculates sales tax based upon a price and taxation rate input by the user. You'll need to compile salesTax.java using the Java compiler before you can use this class within the PHP script import java.util.*; import java.text.*; public class SalesTax { public String SalesTax(double price, double salesTax) { double tax = price * salesTax; NumberFormat numberFormatter; numberFormatter = NumberFormat.getCurrencyInstance(); String priceOut = numberFormatter.format(price); String taxOut = numberFormatter.format(tax); numberFormatter = NumberFormat.getPercentInstance(); String salesTaxOut = numberFormatter.format(salesTax); String str = "A sales Tax of " + salesTaxOut + " on " + priceOut + " equals " + taxOut + "."; return str; } } file named salesTax.java, you'll need to compile it. a new, compiled file named salesTax.class will be created. This is the compiled code that will be called by PHP to perform the calculation based on the data input by the user via an HTML form. salesTaxInterface.php <?php // Format the HTML form. $salesTaxForm = <<<SalesTaxForm <form action="SalesTaxInterface.php" method="post"> Price (ex. 42.56):<br> <input type="text" name="price" size="15" maxlength="15" value=""><br> Sales Tax rate (ex. 0.06):<br> <input type="text" name="tax" size="15" maxlength="15" value=""><br> <input type="submit" name="submit" value="Calculate!"> </form> SalesTaxForm; if (! isset($submit)) : echo $salesTaxForm; else : // Instantiate the SalesTax class. $salesTax = new Java("SalesTax"); // Don't forget to typecast in order to // conform with the Java method specifications. $price = (double) $price; $tax = (double) $tax; print $salesTax->SalesTax($price, $tax); endif; ?> Troubleshooting Chances are you will encounter various minor problems when you first attempt to integrate Java and PHP functionality, particularly if you are a relative newcomer to the Java programming environment. Even if the Java code compiles correctly, you may still encounter problems, largely due to differences found between the two languages. two of these differences here: Data types PHP is a loosely-typed language, which means it is rather lenient on the way variables are used. On the contrary, Java is a strongly-typed language, which means that its policies for handling variables and data types are rather stringent. To illustrate the problem this difference poses, take a moment to again review the code. Notice that I had to typecast the $price and $tax variables before passing them to the SalesTax() method, because this method requires that both input parameters are of type "double." If this is not done, then input such as 24 for price would cause an error to occur. Furthermore, if you are not adamant in ensuring the correct data types are passed to the Java methods, you may receive unexpected results, although it will not be outwardly apparent that an error has occurred. Therefore, be careful! Error reporting Errors occurring within a PHP script are reported in accordance with the level of error-reporting specified in the php.ini file. Because the Java code is called from within the PHP script, any errors that arise from the Java code are displayed as PHP errors. If you would like to prevent these errors from being displayed to the browser, simply prefix a @ symbol to the PHP command. ---- Server IP: 59.162.86.8 Probable Submitter: 119.82.96.18 ---- Manual Page -- http://www.php.net/manual/en/java.examples.php Edit -- https://master.php.net/note/edit/91456 Del: integrated -- https://master.php.net/note/delete/91456/integrated Del: useless -- https://master.php.net/note/delete/91456/useless Del: bad code -- https://master.php.net/note/delete/91456/bad+code Del: spam -- https://master.php.net/note/delete/91456/spam Del: non-english -- https://master.php.net/note/delete/91456/non-english Del: in docs -- https://master.php.net/note/delete/91456/in+docs Del: other reasons-- https://master.php.net/note/delete/91456 Reject -- https://master.php.net/note/reject/91456 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#156750) next »