範例1:創建和使用你自己的JAVA類別
創建你自己的JAVA類別非常容易。新建一個phptest.java文件,將它放在你的java.class.path目錄下,文件內容如下:
public class phptest{
/**
* 可與 PHP 搭配使用的類別範例
* 注意:整個類別必須公開才能運作,
* 當然也有您希望直接呼叫
* 的方法。
*
* 也請注意,從 PHP 中,不會呼叫 main 方法
*
*/
public String foo;
/**
* 取得一個字串並傳回結果
* 或一則訊息,說明您的字串為空
*/
public String test(String str) {
if(str.equals( "Your string was empty. ";
}
return str;
}
/**
* Whatisfoo() 只是傳回變數 foo 的值。
*/
public String whatisfoo() {
return " foo is " foo;
}
/**
* 如果 phptest 從命令列執行
* 類似
* java phptest
* 或
* java phptest
你好,則會呼叫此函數*/
public static void main(String args[]) {
phptest p = new phptest() ;
if(args.length == 0) {
String arg = "";
System.out.println(p.test(arg));
}else{
for (int i=0; i String arg = args[i];
System.out.println(p.test(arg));
}
}
}
}
建立這個檔案後,我們要編譯好這個文件,在DOS指令行使用javac phptest.java這個指令。
為了使用PHP測試這個JAVA類,我們建立一個phptest.php文件,內容如下:
$myj = new Java("phptest") ;
echo "Test Results are " . $myj->test("Hello World") . "";
$myj->foo = "A String Value" ;
echo "You have set foo to " . $myj->foo . "
n";
echo "My java method reports: " . $myj ->whatisfoo() . "
n";
?>
如果你得到這樣的警告訊息:java.lang.ClassNotFoundException error ,這就意味著你的phptest.class檔案不在你的java.class.path目錄下。
注意的是JAVA是一種強制型別語言,而PHP不是,這樣我們在將它們融合時,容易導致錯誤,於是我們在向JAVA傳遞變數時,要正確指定好變數的型別。如:$myj->foo = (string) 12345678; 或 $myj->foo = "12345678";
這只是一個很小的例子,你可以創建你自己的JAVA類,並使用PHP很好的調用它!