Java说话功能壮大,是以在良多情形下在php中来挪用Java的功能将十分有用。在php中挪用Java说话有两种体例,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用处事器供给的SJOP和谈实现。下面我们来斗劲一下这两种体例各自的特点。
, m7 ^: A" g+ a, @# m . y+ ]& C+ B& f0 V3 V7 R
1.php的Java模块( h2 O. ]2 w# p$ |: {
: F* e/ \8 S: L, O& O
php发布版中包含一个Java扩展模块,可以用来挪用Java对象,例如:5 B* e& ?: Q* v3 T/ n7 C0 a# e, C; ?
9 T: v) V/ G2 g' c9 Q
7 ~, G5 a+ ^. u
9 h3 C+ g2 j' T3 R/ q' ~4 z7 z. s, M 使用这种体例的利益是斗劲便利,只要用new Java()来建树一个Java对象,就可以同php类一样来挪用Java对象。可是这种体例也有以下较着的错误谬误:7 O L( H* r- D: o! t2 ^0 O. s
/ Y* ~% A- q8 r: q& F; W2 h& g
1.因为php的Java模块按照php的数据类型选择最适合的Java体例,是以无法挪用Java过载的函数。6 K% c; ?3 q4 i Y) I: h% Y
) `# \. A# j7 v6 d: _' T$ ] 2.php的Java模块将在当前Web Server的历程中载入JVM(Java虚拟机),是以系统开销极大,影响Web Server历程的执行效率。
& Q% N, j8 w# H' n$ i! i$ i4 W 0 T) Z; |' S. @& \" Q; D
3.在某些操作系统和Web Server情形中,php的Java模块将使Web Server历程僵死。
, z5 u+ W; Z/ x7 k2 E" d* n 8 h& k( n; k' l; D4 O3 H
因为这些原因,php的Java模块一向无法应用到现实的的软件系统中。" R- k9 B2 r$ B
+ P' \" @4 p& s+ e
2.minij2ee应用处事器SJOP和谈实现+ \6 @5 |& ]5 o( e" |
- L+ r) ~- p1 z! v9 z% h; Z 在介绍minij2ee应用处事器SJOP和谈实现之前,先简单介绍一下minij2ee应用处事器。minij2ee应用处事器是第一款撑持php的J2EE应用处事器产物,使php能够用于开发企业级应用系统。SJOP全称是Sample Java ORB Protocol(简单Java对象请求代办代庖和谈),是一种简单高效的对象请求代办代庖和谈。好比:
3 y H' }. c! I; d0 m 4 _: o1 e% X' a: @ G$ L
2 C, C* A7 _$ g+ \+ N# z+ Y. s8 A+ w0 k
% W' `4 E0 b8 I u/ v6 h6 w9 r! m8 | minij2ee应用处事器实现SJOP和谈的首要目的是使php中能够访谒EJB企业级组件,是以minij2ee供给了一个EJB-PHP编译器,可以把EJB组件编译成php的类,使php轨范中能够便利的挪用EJB组件,例如:
; Q/ G+ a9 l1 Y( m# @
4 n8 m2 I Z2 ]0 P) h; c7 x % N- T. [# A- C" o% P3 i8 e$ O# L2 q
2 w( v. W1 F! e* @8 M 使用minij2ee应用处事器的php撑持,就可以开发出基于php和J2EE手艺的,面向对象的,不变高效的企业级应用系统。 |