phpÓëWebService½»»¥
WebService¼ò½é
Ò»£® ¸ÅÊö
Ŀǰ½øÐÐWeb ServiceͨÐÅÓÐÁ½ÖÖÐÒé±ê×¼£¬Ò»ÖÖÊÇXML-RPC£¬ÁíÍâÒ»ÖÖÊÇSOAP¡£
1. XML-RPC±È½Ï¼òµ¥£¬³öÏÖʱ¼ä±È½ÏÔ磻
2. SOAP±È½Ï¸´ÔÓ£¬Ö÷ÒªÊÇһЩÐèÒªÎȶ¨¡¢½¡×³¡¢°²È«²¢ÇÒ¸´ÔÓ½»»¥µÄʱºòʹÓá£
PHPÖм¯³ÉÁËXML-RPCºÍSOAPÁ½ÖÖÐÒéµÄ·ÃÎÊ£¬¶¼ÊǼ¯ÖÐÔÚxmlrpcÀ©Õ¹µ±ÖС£ÁíÍ⣬ÔÚPHPµÄPEARÖУ¬²»¹ÜÊÇPHP 4»¹ÊÇPHP 5£¬¶¼ÒѾĬÈϼ¯³ÉÁËXML-RPCÀ©Õ¹£¬¶øÇÒ¸ÃÀ©Õ¹¸úxmlrpcÀ©Õ¹Î޹أ¬Äܹ»¶ÀÁ¢ÊµÏÖXML-RPCµÄÐÒé½»»¥£¬Èç¹ûûÓÐxmlrpcÀ©Õ¹£¬½¨ÒéʹÓÃPEAR::XML-RPCÀ©Õ¹¡£
¶þ£® °²×°xmlrpcÀ©Õ¹
Èç¹ûϵͳÖÐûÓа²×°xmlrpcµÄphpÀ©Õ¹£¬ÄÇôÇëÕýÈ·°²×°¡£
1. ÔÚWindowsƽ̨Ï£¬Ê×ÏȰÑPHP°²×°Ä¿Â¼ÏµÄÀ©Õ¹php_xmlrpc.dll·Åµ½C:\Windows»òÕßC:\WinntĿ¼Ï£¬(PHP4µÄÀ©Õ¹ÔÚC:\php\extensionsĿ¼ÖУ¬PHP5µÄÀ©Õ¹ÔÚC:\php\extĿ¼ÖÐ)£¬Í¬Ê±ÔÚC:\Windows\php.ini»òÕßC:\Winnt\php.iniÖаÑextension=php_xmlrpc.dllÇ°ÃæµÄ·ÖºÅ";"È¥µô£¬È»ºóÖØÆôWeb·þÎñÆ÷ºó²é¿´phpinfo()ÓÐûÓÐXML-RPCÏîÄ¿¾ÍÄܹ»È·¶¨ÊÇ·ñÒѾÕýÈ·°²×°xmlrpcÀ©Õ¹¡£
2. ÔÚUnix/Linuxƽ̨Ï£¬Èç¹ûûÓа²×°xmlrpcÀ©Õ¹£¬ÇëÖØÐ±àÒëPHP£¬ÔÚconfigureµÄʱºòÇë¼ÓÈë --with-xmlrpc Ñ¡ÏȻºó²é¿´phpinfo()¿´ÊÇ·ñÕý³£°²×°xmlrpc¡£
Èý£® XML-RPCʵ¼ù
·þÎñÆ÷¶ËʹÓÃxmlrpc_server_create()º¯Êý²úÉúÒ»¸ö·þÎñÆ÷¶Ë£¬È»ºó°ÑÐèÒªÐèÒª±©Â¶µÄRPCµ÷ÓýӿڽøÐÐ×¢²á£¬½ÓÊÜRPC¿Í»§¶ËPOST¹ýÀ´µÄXMLÊý¾Ý£¬È»ºó½øÐд¦Àí£¬´¦Àí½á¹ûͨ¹ýXMLµÄÐÎʽÏÔʾ¸ø¿Í»§¶Ë¡£
´úÂëÈçÏ£º rpc_server.php
/**
* º¯Êý£ºÌṩ¸øRPC¿Í»§¶Ëµ÷Óõĺ¯Êý
* ²ÎÊý£º
* $method ¿Í»§¶ËÐèÒªµ÷Óõĺ¯Êý
* $params ¿Í»§¶ËÐèÒªµ÷Óõĺ¯ÊýµÄ²ÎÊýÊý×é
* ·µ»Ø£º·µ»ØÖ¸¶¨µ÷Óýá¹û
*/
function rpc_server_func($method, $params) {
$parameter = $params[0];
if ($parameter == "get")
{
$return = ''This data by get method'';
}
else
{
$return = ''Not specify method or params'';
}
return $return;
}
//²úÉúÒ»¸öXML-RPCµÄ·þÎñÆ÷¶Ë
$xmlrpc_server = xmlrpc_server_create();
//×¢²áÒ»¸ö·þÎñÆ÷¶Ëµ÷Óõķ½·¨rpc_server£¬Êµ¼ÊÖ¸ÏòµÄÊÇrpc_server_funcº¯Êý
xmlrpc_server_register_method($
Ïà¹ØÎĵµ£º
#apt-get install apache2
//°²×°apahce2
#apt-get install php5
//°²×°php5
#apt-get install mysql-server
//°²×°mysql·þÎñ¶Ë
#apt-get install mysql-myclient
//°²×°mysqlµÄ¿Í»§¶Ë
#apt-get install php-mysql
//°²×°php-mysqlµÄÁ¬½á
apache+php+mysql »·¾³ÒѾ´î½¨ºÃÁË
½«ÒÔϵķþÎñÖØÆôÒ»ÏÂ
#/et ......
PHP±í´ïʽ
±í´ïʽÊdz£Á¿¡¢±äÁ¿ºÍÔËËã·ûµÄ×éºÏ
±í´ïʽÊÇPHPÖеÄÖØÒªÄÚÈÝ£¬PHPÖм¸ºõËùÓеĶ«Î÷¶¼¿ÉÒÔ³ÆÎª±í´ïʽ
$x=10;
$y=($x=10);
$y+=($x=10);
$z=&$x;
$condition?$true_item:$false_item;
PHPÔËËã·û
ÔËËã·ûÊÇÓÃÀ´¶ÔÊýÖµ»ò±äÁ¿½øÐÐijÖÖ²Ù×÷ÔËËãµÄ·ûºÅ¡£Ò»°ãµØËµ£¬ÔËËã·û¿ÉÒÔ´øÓÐ1¸ö¡¢2¸ö»òÕ߸ü¶à¸öÔËË ......
PHPÊý¾ÝÀàÐÍת»»
PHPµÄÊý¾ÝÀàÐÍת»»ÊôÓÚÇ¿ÖÆ×ª»»£¬ÔÊÐíת»»µÄPHPÊý¾ÝÀàÐÍÓУº
£¨int£©¡¢£¨integer£©£º×ª»»³ÉÕûÐÎ
£¨float£©¡¢£¨double£©¡¢£¨real£©£º×ª»»³É¸¡µãÐÍ
£¨string£©£º×ª»»³É×Ö·û´®
£¨bool£©¡¢£¨boolean£©£º×ª»»³É²¼¶ûÀàÐÍ
£¨array£©£º×ª»»³ÉÊý×é
£¨object£©£º×ª»»³É¶ÔÏó
PHPÊý¾ÝÀàÐÍÓÐÈýÖÖת»»·½Ê½£ ......
1¡¢Ê¹ÓÃGZip
¡¡¡¡ÔÚÿһ¸öPHPÒ³Ãæ¶¥²¿¼ÓÈëÒÔÏ´úÂ룺
<?php ob_start("ob_gzhandler");?>
¡¡¡¡Ê¹ÓøôúÂëºó·þÎñÆ÷»áѹËõËùÓÐÐèÒª´«Ë͵½¿Í»§¶ËµÄ´úÂ룬²¢ÔÚä¯ÀÀÆ÷ÖнøÐнâѹ£¬´Ó¶øÊ¹ÍøÕ¾ÔËÐÐËٶȼӿ졣ÕâÒ»¹¦ÄÜ»¹¿ÉÒÔ½ÚÊ¡ÍøÕ¾¿Õ¼äµÄÁ÷Á¿¡£
2¡¢²»ÒªÀÄÓÃJavascriptºÍAjax
¡¡¡¡Ö»ÔÚÐèÒªµÄʱºò²ÅʹÓÃJavascriptºÍAjax ......
Ò»°ãÇé¿öÏ£¬ÎÒÃÇÉèÖÃphpµÄinclude_path¶¼»áͨ¹ýÐÞ¸Äphp.iniÀ´ÊµÏÖ¡£
ÓÐʱºò£¬ÎÒÃÇûÓзþÎñÆ÷µÄȨÏÞ¡£ÓÐʱºò£¬ÎÒÃǰÑÒ»¸öĿ¼¼Óµ½include_path»áÈÃÒÑÓеijÌÐò³åÍ»¡£ÊÜcakephpµÄÆô·¢:ÔÚapp/webrootĿ¼ÏÂindex.phpÓÐÈçÏ´úÂë
<?php
ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . AP ......