phpÖÐʹÓÃsoapµÄ½¨Á¢¹²Ïí½Ó¿Ú
ÔÚÍøÕ¾ÐèÒª½¨Á¢¹²Ïí½Ó¿ÚµÄʱºò£¬¿ÉÒÔʹÓÃsoap¡£ ÏÂÃæ½éÉÜÏÂÔÚPHPÖÐÈçºÎʹÓÃSOAPµÄÍêÕû¹ý³Ì¡£
1¡¢È·ÈÏPHP»·¾³ÊÇ·ñÖ§³Ösoap,¼ì²éphpÅäÖÃÎļþ£¬°Ñextension=php_soap.dllÇ°µÄ·ÖºÅ(;)È¥µô(windows);ÈôÊÇ×Ô¼º±àÒëÔò±àÒëʱ±ØÐë¼ÓÉÏ --enable-soapÑ¡Ïî¡£
2¡¢½¨Á¢soap·þÎñ¶Ë¡£ ÏÂÃæͨ¹ýʵÀýÀ´ËµÃ÷ÈçºÎ½¨Á¢·þÎñ¶Ë¡£
<?php
class service_class {
/**
* @return string
* */
function sayHello(){
return 'hello world';
}
/**
* @param string $name;
* @return string;
*/
function getName($param1, $param2){
return $param1.$param2;
}
}
$server = new SoapServer('testwsdl.wsdl'); //------------1
$server->setClass('service_class'); //------------2
$server->handle(); //------------3
?>
ÕâÀïÓÐÒ»µãÐèҪעÒâµÄÊÇ:Èç¹ûÒªÔÚÉú³ÉµÄwsdlÎļþÓÐÀàÐ͵Ļ°,ӦʹÓ÷½·¨×¢ÊÍ;(string,integerµÈ).
(1)Éú³ÉÒ»¸öʵÀý,²ÎÊý"buildin.wsdl"ÊÇwsdlÎļþËùÔÚµÄλÖÃ,ÒòΪSoapServer»¹Ã»ÓÐÌṩÉú³ÉwsdlµÄʵÏÖ,ÒòЩҪָÃ÷ϸwsdlÎļþËùÔÚµÄλÖÃ.
(2)×¢²áwebserviceµÄÌṩµÄ·½·¨,ĬÈÏΪÀàÀïÃæµÄËùÓз½·¨
(3)´¦ÀíÇëÇó;
µ½ÕâÀïΪֹ,ÔÚä¯ÀÀÆ÷ÖзÃÎʱ¾phpÎļþ,Èç¹û³öÏÖÈç¹ûÌáʾ
"cant find HTTP_RAW_POST_DATA";ÔòÔÚ´´½¨soapServerÇ°,²åÈëÒÔÏ´úÂë
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if (!isset($HTTP_RAW_POST_DATA)){
$HTTP_RAW_POST_DATA = file_get_contents(''php://input'');
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
´ËʱÈç¹ûÌáʾbad requestÖ®ÀàµÄ´íÎó,˵Ã÷web serviceÒѾÆô¶¯ÁË.
3¡¢´´½¨wsdlÎļþ
Èç¹ûûÓÐÍü¼ÇÇ°ÃæÌáµ½µÄwsdlµÄ»°,´Ë¿Ì±Ø»áÏë¼´È»²»»¹²»ÄÜÉú³ÉwsdlÎļþµÄ»°,ÄÇÄǸöbuildin.wsdl´ÓºÎ¶øÀ´ÄØ,Èç¹û¶Ôzend studioÊìϤµÄ»°,¾Í»áÏëµ½tool²Ëµ¥ÏÂÃæµÄwsdl generator,¶ÔÁË,ÓÃÕâ¸ö¹¤¾ß
¿ÉÒÔÉú³ÉºÜ˧µÄwsdlÎļþ,
ÏÂÃæ½éÉÜÏêϸÉú³É·½·¨£ºA¡¢tools->wsdl gen
Ïà¹ØÎĵµ£º
PHPÖ§³Ö8ÖÖÔʼÀàÐÍ£¬ÆäÖаüÀ¨£º
4ÖÖ±êÁ¿ÀàÐÍ£ºboolean(²¼¶ûÐÍ)¡¢integer(ÕûÐÍ)¡¢float(¸¡µãÐÍ)¡¢string(×Ö·ûÐÍ)£»
2ÖÖ¸´ºÏÀàÐÍ£ºarray(Êý×é)¡¢object(¶ÔÏó)£»
2ÖÖÌØÊâÀàÐÍ£ºresource(×ÊÔ´)¡¢NULL
Äú¿ÉÄÜ»¹»á¶Áµ½Ò»Ð©¹ØÓÚ“Ë«¾«¶È£¨double£©”ÀàÐ͵IJο¼¡£Êµ¼ÊÉÏ double ºÍ float ÊÇÏàͬµÄ£¬ÓÉÓÚһЩÀúÊ·µÄÔ ......
½â¶ÁPHP DOMDocumentÔÚ½âÎöXMLÎļþÖеÄ×÷ÓÃ
http://developer.51cto.com 2009-12-02 10:39 ØýÃû Áø³Ç²©¿Í ÎÒÒªÆÀÂÛ(0)
PHP DOMDocumentµÄ¹¦Äܷdz£Ç¿´ó£¬ÎÒÃÇÔÚÕâƪÎÄÕÂÖн«½éÉÜÈçºÎÕýÈ·µÄÔËÓÃPHP DOMDocumentÀ´½øÐÐXMLÎļþµÄ½âÎö¡£Ï£Íû¶ÔÓÖÐèÒªµÄÅóÓÑÓÐËù°ïÖú¡£
ÔÚʹÓÃPHP¶ÔXMLÎļþ½øÐнâÎöµÄʱ ......
PHP³ÌÐòÔ±×îÒ×·¸10ÖÖ´íÎó
PHPÊǸöΰ´óµÄweb¿ª·¢ÓïÑÔ£¬Áé»îµÄÓïÑÔ£¬µ«ÊÇ¿´µ½php³ÌÐòÔ±Öܶø¸´Ê¼µÄ·¸µÄһЩ´íÎó¡£ÎÒ×öÁËÏÂÃæÕâ¸öÁÐ±í£¬ÁгöÁËPHP³ÌÐòÔ±¾³£·¸µÄ10ÖдíÎ󣬴ó¶àÊýºÍ°²È«Ïà¹Ø¡£¿´¿´Äã·¸Á˼¸ÖÖ
1.²»×ªÒâhtml entities
Ò»¸ö»ù±¾µÄ³£Ê¶£ºËùÓв»¿ÉÐÅÈεÄÊäÈ루ÌرðÊÇÓû§´ÓformÖÐÌá½ ......
½ü
À´Ëæ×Åi18n(¹ú¼Ê»¯)µÄÖð½¥±ê×¼»¯£¬ÎÒÒ²À´½²Ò»½²ÔÚPHPÖÐÈçºÎʵÏÖ¹ú¼Ê»¯Ö§³Ö¡£¸úÆäËû³ÌÐòÓïÑÔÒ»Ñù£¬ÔÚ PHP Ò²¿ÉÒÔÀûÓà gettext
Ì×¼þд×÷ i18n ³ÌÐò£¬ÊµÏÖ NLS(Native Language Support) ¹ú¼Ê»¯Ö§³Ö£¬¾ßÌåÇë²Î¿¼¹Ù·½Îĵµ(
http://www.gnu.org/software/gettext/manual/gettext.html
)
ÕâÀïÎÒÃÇÖ÷Òª½éÉÜwindowƽ̨ÏÂÊ ......
$_SERVER´æ´¢µ±Ç°·þÎñÆ÷ÐÅÏ¢£¬ÆäÖÐÓм¸¸öÖµÈç$_SERVER["QUERY_STRING"]£¬$_SERVER["REQUEST_URI"]£¬$_SERVER["SCRIPT_NAME"]ºÍ$_SERVER["PHP_SELF"]³£³£ÈÝÒ×»ìÏý£¬ÒÔÏÂͨ¹ýʵÀýÏê½â$_SERVERº¯ÊýÖÐQUERY_STRING£¬REQUEST_URI£¬SCRIPT_NAMEºÍPHP_SELF±äÁ¿Çø±ð£¬ÕÆÎÕÕâËÄÕßÖ®¼äµÄ¹Øϵ£¬±ãÓÚÔÚʵ¼ÊÓ¦ÓÃÖÐÕýÈ·»ñÈ¡ËùÐèÒªµÄÖµ
1£ ......