PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/php/java.examples-basic.html

https://bitbucket.org/thncr/manuals
HTML | 111 lines | 105 code | 6 blank | 0 comment | 0 complexity | 49fe75c3840427c2fb84a7f4794ee4ca MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Basic usage</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="java.examples.html">范例</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="ref.java.html">Java 函数</a></div>
  10. <div class="up"><a href="java.examples.html">范例</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="java.examples-basic" class="section">
  13. <h2 class="title">Basic usage</h2>
  14. <p class="para">
  15. <div class="example" id="example-4154">
  16. <p><strong>Example #1 Java Example</strong></p>
  17. <div class="example-contents">
  18. <div class="phpcode"><code><span style="color: #000000">
  19. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;get&nbsp;instance&nbsp;of&nbsp;Java&nbsp;class&nbsp;java.lang.System&nbsp;in&nbsp;PHP<br /></span><span style="color: #0000BB">$system&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.lang.System'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;demonstrate&nbsp;property&nbsp;access<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'Java&nbsp;version='&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$system</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getProperty</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.version'</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">'Java&nbsp;vendor='&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$system</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getProperty</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.vendor'</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">'OS='&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$system</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getProperty</span><span style="color: #007700">(</span><span style="color: #DD0000">'os.name'</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'&nbsp;'&nbsp;</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$system</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getProperty</span><span style="color: #007700">(</span><span style="color: #DD0000">'os.version'</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'&nbsp;on&nbsp;'&nbsp;</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$system</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getProperty</span><span style="color: #007700">(</span><span style="color: #DD0000">'os.arch'</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">'&nbsp;&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;java.util.Date&nbsp;example<br /></span><span style="color: #0000BB">$formatter&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.text.SimpleDateFormat'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"EEEE,&nbsp;MMMM&nbsp;dd,&nbsp;yyyy&nbsp;'at'&nbsp;h:mm:ss&nbsp;a&nbsp;zzzz"</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #0000BB">$formatter</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">format</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.util.Date'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span>
  20. </span>
  21. </code></div>
  22. </div>
  23. </div>
  24. <div class="example" id="example-4155">
  25. <p><strong>Example #2 AWT Example</strong></p>
  26. <div class="example-contents">
  27. <div class="phpcode"><code><span style="color: #000000">
  28. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;This&nbsp;example&nbsp;is&nbsp;only&nbsp;intended&nbsp;to&nbsp;be&nbsp;run&nbsp;using&nbsp;the&nbsp;CLI.<br /><br /></span><span style="color: #0000BB">$frame&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.awt.Frame'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'PHP'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$button&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.awt.Button'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'Hello&nbsp;Java&nbsp;World!'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #DD0000">'North'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$button</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">validate</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">pack</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">visible&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">True</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$thread&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Java</span><span style="color: #007700">(</span><span style="color: #DD0000">'java.lang.Thread'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$thread</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">10000</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dispose</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span>
  29. </span>
  30. </code></div>
  31. </div>
  32. </div>
  33. Notes:
  34. <ul class="itemizedlist">
  35. <li class="listitem">
  36. <span class="simpara">
  37. <em>new Java()</em> will create an instance of a class if
  38. a suitable constructor is available. If no parameters are passed and
  39. the default constructor is useful as it provides access to classes
  40. like <em>java.lang.System</em> which expose most of their
  41. functionality through static methods.
  42. </span>
  43. </li>
  44. <li class="listitem">
  45. <span class="simpara">
  46. Accessing a member of an instance will first look for bean properties
  47. then public fields. In other words, <em>print $date.time</em>
  48. will first attempt to be resolved as <em>$date.getTime()</em>,
  49. then as <em>$date.time</em>.
  50. </span>
  51. </li>
  52. <li class="listitem">
  53. <span class="simpara">
  54. Both static and instance members can be accessed on an object with
  55. the same syntax. Furthermore, if the java object is of type
  56. <em>java.lang.Class</em>, then static members of the class
  57. (fields and methods) can be accessed.
  58. </span>
  59. </li>
  60. <li class="listitem">
  61. <p class="para">
  62. Exceptions raised result in PHP warnings, and <strong><code>NULL</code></strong> results. The
  63. warnings may be eliminated by prefixing the method call with an
  64. &quot;@&quot; sign. The following APIs may be used to retrieve and reset
  65. the last error:
  66. <ul class="itemizedlist">
  67. <li class="listitem"><span class="simpara"> <span class="function"><a href="function.java-last-exception-get.html" class="function">java_last_exception_get()</a></span></span></li>
  68. <li class="listitem"><span class="simpara"> <span class="function"><a href="function.java-last-exception-clear.html" class="function">java_last_exception_clear()</a></span></span></li>
  69. </ul>
  70. </p>
  71. </li>
  72. <li class="listitem">
  73. <span class="simpara">
  74. Overload resolution is in general a hard problem given the
  75. differences in types between the two languages. The PHP Java
  76. extension employs a simple, but fairly effective, metric for
  77. determining which overload is the best match.
  78. </span>
  79. <span class="simpara">
  80. Additionally, method names in PHP are not case sensitive, potentially
  81. increasing the number of overloads to select from.
  82. </span>
  83. <span class="simpara">
  84. Once a method is selected, the parameters are coerced if necessary,
  85. possibly with a loss of data (example: double precision floating point
  86. numbers will be converted to boolean).
  87. </span>
  88. </li>
  89. <li class="listitem">
  90. <span class="simpara">
  91. In the tradition of PHP, arrays and hashtables may pretty much
  92. be used interchangeably. Note that hashtables in PHP may only be
  93. indexed by integers or strings; and that arrays of primitive types
  94. in Java can not be sparse. Also note that these constructs are
  95. passed by value, so may be expensive in terms of memory and time.
  96. </span>
  97. </li>
  98. </ul>
  99. </p>
  100. </div><hr /><div class="manualnavbar" style="text-align: center;">
  101. <div class="prev" style="text-align: left; float: left;"><a href="java.examples.html">范例</a></div>
  102. <div class="next" style="text-align: right; float: right;"><a href="ref.java.html">Java 函数</a></div>
  103. <div class="up"><a href="java.examples.html">范例</a></div>
  104. <div class="home"><a href="index.html">PHP Manual</a></div>
  105. </div></body></html>