´¿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
Ïà¹ØÎĵµ£º
public class www {
public static void main(String[]args) throws Exception {
//µÚÒ»²½£º¼ÓÔØÇý¶¯£¨Çý¶¯jar°ü±ØÐë¼ÓÈëclasspathÖУ©
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//µÚ¶þ²½£º½¨Á¢Á¬½Ó£¨¸ù¾Ýʵ¼ÊÇé¿öÌæ»»Êý¾Ý¿âµÄÖ÷»úµØÖ·¡¢¶Ë¿ÚºÅ¡¢Êý¾Ý¿âÃ÷¡¢µÇ¼à ......
×Ô¼ºµÄÔ´³ÌÐòÊÇÔÚ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 ......
ÖØÔØ£º·½·¨ÃûÏàͬ ·µ»ØÀàÐͺͲÎÊýÖÁÉÙÓÐÒ»Ïͬ£¨²ÎÊý°üÀ¨ÀàÐÍ ºÍ ÊýÁ¿£©
ÖØÐ´£º·¢ÉúÔÚ×ÓÀà ·½·¨Ãû ·µ»ØÀàÐÍ ²ÎÊý¶¼Ïàͬ Ö»ÊǰѸ¸ÀàµÄ´Ë·½·¨ÖØÐÂд¶øÒÑ
Ò»Ö±ÒÔÀ´ÎÒ¶ÔFacther f = new Son()ÕâÑùµÄÒýÓñäÁ¿ÒýÓÃ×ÓÀàµÄʵÀý¶¼²»ÊǺܶ®¡£
»¹ÓоÍÊÇÏòÉÏÏòÏÂתÐÍ
È磺Animal animal = new Dog() // ÒýÓñäÁ¿ÒýÓÃÁËÀ´×Ô×ÓÀàµÄÊ ......
ÕýÔò±í´ïʽ×Ô¼ºÒ»Ö±²»ÊìϤ£¬Õâ2ÌìÔÚÍøÉÏÒ»Ö±¿´¹ØÓÚËüµÄÎÄÕ£¬×Ô¼º×ܽáÁ˼¸¸öº¯Êý¡£
1£®preg_match()
º¯ÊýÔÐÍ£ºint preg_match (string $pattern, string $content [, array
$matches])
preg_match
()º¯ÊýÔÚ$content×Ö·û´®ÖÐËÑË÷Óë$pattern¸ø³öµÄÕýÔò±í´ïʽÏàÆ¥ÅäµÄÄÚÈÝ¡£Èç¹ûÌṩÁË$matches£¬Ôò½«Æ¥Åä½á¹û·ÅÈëÆäÖС ......
1¡¢eregÀïÃæÊDz»ÐèÒªÒ²²»ÄÜʹÓ÷ָô·ûºÍÐÞÊηûµÄ£¬ËùÒÔeregµÄ¹¦ÄܱÈpregÒªÈõÉϲ»ÉÙ¡£
¡¡¡¡2¡¢¹ØÓÚ"."£ºµãÔÚÕýÔòÀïÃæÒ»°ãÊdzýÁË»»ÐзûÒÔÍâµÄÈ«²¿×Ö·û£¬µ«ÊÇÔÚeregÀïÃæµÄ"."ÊÇÈÎÒâ×Ö·û£¬¼´°üÀ¨»»Ðзû£¡Èç¹ûÔÚpregÀïÃæÏ£Íû"."
Äܹ»°üÀ¨»»Ðзû£¬¿ÉÒÔÔÚÐÞÊηûÖÐ ......