´¿java PHPÒýÇæ——Quercus
ÓÉÓÚ¹«Ë¾ÏîÄ¿µÄÐèÒª£¬×î¾ÔÚÑо¿QuercusÒ»¸ö´¿javaµÄphpÒýÇæ¡£ÏîÄ¿ÕâÁ½¸öÐèÒª×öµÄ¾ÍÊǽ«¸ÃÒýÇæ²Ã¼ô£¬×öÒ»¸öÏà¶Ô°²È«µÄ°æ±¾£¬Ìṩ¸øISVʹÓã¬Í¬Ê±£¬ÔÚÒýÇæÖÐÌṩĬÈϵĽӿڹ©µ÷Óá£ËùÒÔÏÈÑо¿ÁËһϣ¬ÔÚQuercusÒýÇæµÄÖ§³ÖÏ£¬PHPÈçºÎÓëjava¼¯³É¡£
ÒÔÏÂÊÇѧϰµ½µÄ¼¸µã£º
1¡¢Èç¹ûʹÓà Resin-IoC/WebBeansÀ´×éÖ¯Ó¦ÓõķþÎñµ½½Å±¾ÖУ¬ÄÇô½Å±¾ÖоͿÉÒÔÖ±½Ó»ñÈ¡µ½ÅäÖõķþÎñµÄµ¥ÀýʵÀýµÄÒýÓã¬Ê¹Ó÷½Ê½ÈçÏÂ
<?php
$demo_manager = java_bean("DemoeManager");
$demo = $demo_manager->findData("demoId");
foreach ($demo->getDatas() as $data) {
echo $data . "\n";
}
?>
2¡¢ÁíÍâÒ»ÖÖ¿ÉÒÔͨ¹ýnew Java()·½Ê½£¬ÒÔclassÍêÕûÃû³ÆÒÔ¼°¹¹Ô캯Êý²ÎÊý×÷Ϊ²ÎÊýÀ´Éú³É¶ÔÓ¦µÄjava ¶ÔÏó£¬ÀýÈç
<?php
$a = new Java("java.util.Date", 123);
echo $a->time;
?>
3¡¢Quercus»¹Ö§³Ö£¬ÀàËÆÓÚjava µÄÒýÓ÷½Ê½£¬¼´£¬ÔÚPHPÖÐʹÓÃimportÓï¾äÒýÈëclass£¬Ê¹ÓÃnew¹Ø¼ü×ÖÀ´´´½¨¶ÔÏó¡£
<?php
import java.util.Date;
$a = new Date(123);
echo $a->time;
?>
Èç¹ûÊÇʹÓÃResin¿ò¼Ü£¬»á×Ô¶¯¼ÓÔØ WEB-INF/classes/classname.phpÖÐÅäÖõĵÄclass¡£
4¡¢ÔÚQuercusÖУ¬PHPµÄÓï·¨ÓÃÓÚ¼¤»îjava¶ÔÏóµÄ·½·¨£¬ÏÂÃæËµÃ÷Ò»ÏÂͨ³£µÄ·½·¨µ÷ÓúÍÊôÐÔµÄgetºÍset
<?php
import java.util.Date;
$a = new Date(123);
echo $a->getTime(); # calls getTime()
echo $a->setTime(456); # calls setTime(456)
echo $a->time; # calls getTime()
$a->time = 456; # calls setTime(456)
?>
5¡¢ÔÚQuercusÖУ¬javaÀà±»ÒýÈëÁË£¬¾²Ì¬·½Ê½ºÍ¾²Ì¬ÊôÐÔÊÇ¿ÉÒÔ·ÃÎʵÄ
<?php
import java.util.Calendar;
$calendar = Calendar::getInstance();
var_dump($calendar);
?>
»òÕßʹÓÃnew java_class()·½Ê½»ñµÃclass¶ÔÏó
<?php
$class = java_class("java.lang.System");
# System.in
$in = $class->in;
# System.currentTimeInMillis();
$time = $class->currentTimeInMillis();
?>
6¡¢¹ØÓÚjava¶ÔÏóÖеķ½·¨ÖØÔØÎÊÌ⣬PHP±¾ÉíÊDz»Ö§³Öº¯ÊýÖØÔØµÄ£¬¶Ô²ÎÊý¸öÊýµÄÖØÔØÖ§³ÖµÃ»¹²»´í£¬µ«ÊDzÎÊý¸öÊýÏàͬ£¬²ÎÊýÀàÐͲ»Í¬µÄÖØÔØ
Ö§³ÖµÃ¾Í²»Ì«ºÃÁË¡£ÎÒ¾õµÃÊÇÓÉÓÚPHP±¾ÉíËùÀàÐÍÓйء£±ÈÈçÏÂÃæµÄ¶¨ÒåµÄjavaÀà
import com.caucho.quercus.module.Abs
Ïà¹ØÎĵµ£º
³õѧPHPµÄʱºò£¬ÎÒÃǾ³£±»PHPµÄ¾ø¶Ô·¾¶ºÍÏà¶Ô·¾¶ÅªµÄÔÎͷתÏò¡£Â·¾¶ÎÊÌâ¾³£µ¼ÖÂinclude¼°requireÃüÁî²»ÄܼÓÔØµ½Ö¸¶¨µÄÒ³
Ãæ£¬´Ó¶øµ¼ÖÂWeb³ÌÐòÔËÐдíÎó¡£±¾ÎĽ«¸ú´ó¼ÒÒ»Æð̽ÌÖÒ»ÏÂPHP·¾¶ÎÊÌâµÄ³£Óýâ¾ö·½°¸¡£
ÏÂÃæÎÒÃÇÏÈ×öÒ»¸ö¸ö¼òµ¥µÄʾÀý:
ÉÏͼÊÇÒ»¸ö¼òµ¥WebÏîÄ¿µÄ½á¹¹Í¼,ÆäÖи÷ÎļþµÄ´úÂëÈçÏÂ: ......
ÒªÔÚJavaÖлñµÃijһ±äÁ¿µÄËø£¬±ØÐëÔÚ´úÂëµÄÊ×β¶þ¶Ë¼ÓÉÏsynchronized¹Ø½¡×Ö£¬Ö¸Ã÷ÐèÒª»ñµÃËøµÄ¶ÔÏó¡£Ò»µ©Ï߳̿ªÊ¼Ö´ÐÐsynchronized¿éÖеĴúÂ룬Ëü¾Í»ñµÃÁ˶ÔÕâÒ»¶ÔÏóµÄËøµÄ¿ØÖÆÈ¨¡£Í¬Ñù£¬Ò»µ©Ïß³ÌÒѾÀ뿪ÁËsynchronized¿é£¬ËüÒ²½«ÊÍ·ÅÕâÒ»¶ÔÏóµÄËø¡£ÎÒÃÇÒѾ֪µÀ£¬C#Ò²ÓÐÒ»¸öÏàËÆµÄ±»³Æ×÷lockµÄ¹Ø½¡×Ö¡£³ýÁËlockÕâ¸ö¹Ø½¡×Ö ......
×Ô¼ºµÄÔ´³ÌÐòÊÇÔÚF:\parser\ParserDemo.java£¬
ʹÓÃÃüÁîÐУºjavac -classpath stanford-parser.jar;. ParserDemo.java±àÒ룬
ÃüÁîÐУºjava -cp stanford-parser.jar;. ParserÔËÐÐ
¶¼Ã»ÓÐÎÊÌâ¡£
µ«Êǵ±ÎÒÔÚc++³ÌÐòÖÐʹÓÃÓÃÃüÁîÐУ¨java -cp stanford-parser.jar;. Parser£©µ÷ÓøijÌÐò¾Í»á³ö´í¡£Ìáʾ£ºjava.lang.NoClassD ......
½ñÌì´ÓͬѧÃÇÄÇÀï¸ãÁËÁ½¸ö·Ç½Èí¼þ£¬Ò»¸öÊÇÎ޽磬һ¸öÊÇ×ÔÓÉÃÅ£¬¸ÕÌýµ½·Ç½Èí¼þ´ó¼ÒÒ»¶¨ºÜÃÔºý°É£¬ÎÒÒ²ÊǸÕÖªµÀÓÐÕâÖÖ¶«Î÷£¬Ìý˵ÓÃÕâÖÖÈí¼þ¿ÉÒÔ·ÃÎÊһЩ±»¹ú¼Ò½ûÖ¹·ÃÎʵÄÍøÕ¾£¬È·ÇеÄ˵¾ÍÊÇÒ»ÖÖ´úÀí»úÖÆ£¬´ó¼Ò²»Òª¶àÏ룬ÎÒŪÕâ¸ö¶«Î÷û±ðµÄÄ¿µÄ£¬¶¯»úÊǺܵ¥´¿µÄ£¬¾ÍÊÇÏë¿´Ò»¿´È«Çò×î´óµÄÊÓÆµ ......
ÕýÔò±í´ïʽ×Ô¼ºÒ»Ö±²»ÊìϤ£¬Õâ2ÌìÔÚÍøÉÏÒ»Ö±¿´¹ØÓÚËüµÄÎÄÕ£¬×Ô¼º×ܽáÁ˼¸¸öº¯Êý¡£
1£®preg_match()
º¯ÊýÔÐÍ£ºint preg_match (string $pattern, string $content [, array
$matches])
preg_match
()º¯ÊýÔÚ$content×Ö·û´®ÖÐËÑË÷Óë$pattern¸ø³öµÄÕýÔò±í´ïʽÏàÆ¥ÅäµÄÄÚÈÝ¡£Èç¹ûÌṩÁË$matches£¬Ôò½«Æ¥Åä½á¹û·ÅÈëÆäÖС ......