ÀûÓÃphpÖеÄevalÀ´Ä£ÄâjavaÖеĶ¯Ì¬´úÀí
ʹÓÃjavaÖеĶ¯Ì¬´úÀí¿ÉÒÔÍê³ÉºÜ¶àÊÂÇ飬±ÈÈ罫ҵÎñʵÀý½øÐÐÍйܣ¬ÊµÏÖAOPµÈ£¬µ«ÊÇPhpÖÐûÓÐʵÏÖÕâÑùµÄ¶«Î÷£¬×òÌìͻȻÏëµ½Æäʵ¿ÉÒÔͨ¹ýevalÀ´Ä£ÄâÒ»¸ö¶¯Ì¬´úÀí»úÖÆ¡£php±Èjava²»Í¬µÄÊÇ£¬phpÊDz»ÐèÒª±àÒëµÄ£¬Òò´ËÖ»ÒªÎÒÃÇÄܹ»¶¯Ì¬Éú³ÉÒ»¶Î´úÂ룬ȻºóÓÃevalÀ´Ö´ÐоͿÉÒԴﵽЧ¹û¡£´úÂëÈçÏ£º
/**
* ´úÀíʵÏÖÀà
*/
interface IInvocationHandler
{
function invoke($method, array $arr_args);
}
/**
* ´úÀíÀà
*/
final class Proxy
{
const CLASS_TEMPLATE = '
final class %s implements %s
{
private $handler;
public function __construct(IInvocationHandler $handler)
{
$this->handler = $handler;
}
%s
}
';
const FUNCTION_TEMPLATE = '
public function %s(%s)
{
$arr_args = func_get_args ();
$arr_method = explode("::", __METHOD__);
$this->handler->invoke ( $arr_method[1], $arr_args );
}
';
public static function newProxyInstance(array $arr_interface, IInvocationHandler $handler)
{
$className = self::getClassName ( $arr_interface );
if (class_exists ( $className ))
{
return new $className ( $handler );
}
self::checkInterfaceExists ( $arr_interface );
self::generateClass ( $arr_interface );
return new $className ( $handler );
}
protected static function generateClass(array $arr_interface)
{
$className = self::getClassName ( $arr_interface );
$interfaceList = implode ( ',', $arr_interface );
$functionList = '';
foreach ( $arr_interface as $interface )
{
$class = new ReflectionClass ( $interface );
$arr_method = $class->getMethods ();
foreach ( $arr_method as $method )
{
$methodName = $method->getName ();
$arr_parameter = $method->getParameters ();
$parameterArray = array ();
foreach ( $arr_parameter as $parameter )
{
$parameterName = $parameter->getName ();
$parameterArray [] = '$' . $parameterName;
}
$parameterList = implode ( ',', $parameterArray );
}
$functionList .= sprintf ( self::FUNCTION_TEMPLATE, $methodN
Ïà¹ØÎĵµ£º
µ±Á½¸ö½ø³ÌÔÚ½øÐÐÔ¶³ÌͨÐÅʱ£¬±Ë´Ë¿ÉÒÔ·¢Ë͸÷ÖÖÀàÐ͵ÄÊý¾Ý¡£ÎÞÂÛÊǺÎÖÖÀàÐ͵ÄÊý¾Ý£¬¶¼»áÒÔ¶þ½øÖÆÐòÁеÄÐÎʽÔÚÍøÂçÉÏ´«ËÍ¡£·¢ËÍ·½ÐèÒª°ÑÕâ¸öJava¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬²ÅÄÜÔÚÍøÂçÉÏ´«ËÍ£»½ÓÊÕ·½ÔòÐèÒª°Ñ×Ö½ÚÐòÁÐÔÙ»Ö¸´ÎªJava¶ÔÏó¡£
¡¡¡¡°ÑJava¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì³ÆÎª¶ÔÏóµÄÐòÁл¯¡£
¡¡¡¡°Ñ×Ö½ÚÐòÁлָ´ÎªJava¶ÔÏóµÄ¹ ......
ºÜ¼òµ¥µÄСÀý×Ó£¬ÊʺϳõѧÕßÀí½â
1£¬JavaFlex.java
package flex;
public class JavaFlex {
public String helloJavaFlex(String name) {
return name;
}
}
2£¬remoting-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.Remo ......
½ñÌì¼ÌÐøÑ§Ï°javaºÍandroidƽ̨ javaµÄѧϰËãÊDz¹³ä£¬ÒòΪûÓÐjava»ù´¡Ò²×ö²»³öʲô¶«Î÷À´
½ñÌì¿´µ½javaÓÃthis¹Ø¼ü×ÖÀ´ÖØÔع¹Ôì·½·¨£¬ÔÚÕâÀï×ö¸ö±Ê¼Çclass a_sample{
public int x,y.z;
a_sample(int x){
this.x=x;
}
a_sample(int x,int y){
this(x);
this.y=y;
}
a_sample(int x ......
ÊÖ²áµÄ¹Ù·½µØÖ·: http://us3.php.net/manual/en/book.tokyo-tyrant.php
¾ßÌåÄÚÈÝÈçÏÂ:
TCTÖ§³ÖµÄ×·¼Ó²ÎÊý:
mode:
bnum: ͰÊý×éÔªËØ¸öÊý,Èç¹û²»´óÓÚ0,ʹÓÃĬÈÏÖµ, ĬÈÏÖµÊÇ131071, ½¨ÒéÖµÊÇËùÓд洢µÄ¼Ç¼ÌõÊýµÄ0.5-4±¶.
apow: ºÍÒ»¸ökey¹ØÁªµÄ¼Ç¼Êý,Èç¹ûÊǸºÖµ, ʹÓÃĬÈÏÖµ, ĬÈÏֵΪ4, ÒâΪ2µÄ4´Î·½.
fpow: FreeBl ......