php-java-bridge實踐

來源:互聯網
上載者:User

標籤:PHP   Java   php-java-bridge   

  • php-java-bridge是什嗎?

    php調用java方法有rpc,也有php-java-bridge.

    php裡調用java平台封裝好的jar包裡的class類和方法,一般飄易推薦的做法是採用php-java-bridge做橋接.

    孰優孰略,做了比較以後咱們再議。

  • php-java-bridge實現原理。

  •       先開啟java的一個監聽連接埠,php調用java的時候,將對應的方法調用轉寄到java的指定連接埠,由java執行後再將結果返回給php。

          這種模式是一種比較典型的代理模式,php在這裡成為了一個代理轉寄站,把java的類調用轉寄給後端的java執行。

      3.php-java-bridge如何使用?

          a.下載

            http://php-java-bridge.sourceforge.net/pjb/download.php

            


                        下載這倆個檔案


                    b.啟動

                        mv ~/Download/JavaBridge.jar ~/php-java/

                        java -jar JavaBridge.jar SERVLET_LOCAL:8081

              

                        會出現如下資訊:



    4.使用php調通java的類

        這時候使用到了Java.inc這個檔案。

        mv ~/Download/Java.inc  ~/phptest

        vi testJavaBridge.php

    <?phpdefine("JAVA_DEBUG", true); //調試設定define("JAVA_HOSTS", "127.0.0.1:8081");define("JAVA_LOG_LEVEL", 2);require_once "Java.inc";java_set_file_encoding("UTF-8");try {  $props = java("java.lang.System")->getProperties();  $array = java_values($props);  foreach($array as $k=>$v) {    echo "$k=>$v"; echo "<br>\n";  }  echo "<br>\n";  class MyClass {    function toString() { return "hello PHP from Java!"; }  }  $javaObject = java_closure(new MyClass());  echo "PHP says that Java says: "; echo $javaObject;  echo "<br>\n";  echo "<br>\n";  echo java("php.java.bridge.Util")->VERSION; echo "<br>\n";} catch (JavaException $ex) {  echo "An exception occured: "; echo $ex; echo "<br>\n";}


            php testJavaBridge.php

            會輸出如下類似如下資訊:


                這些資訊是Java的資訊

        

    5.後續

    後續的內容會單獨寫一篇文章說明進階使用。    




    php-java-bridge實踐

    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.