Yii Framework v1.1.10 绫诲弬鑰

CWsdlGenerator

system.web.services
缁ф壙 class CWsdlGenerator » CComponent
婧愯嚜 1.0
鐗堟湰 $Id: CWsdlGenerator.php 2799 2011-01-01 19:31:13Z qiang.xue $
婧愮爜 framework/web/services/CWsdlGenerator.php
CWsdlGenerator鏄竴涓粰瀹氱殑鏈嶅姟绫荤敓鎴怶SDL銆

WSDL鐨勭敓鎴愭槸鍩轰簬鏈嶅姟绫绘枃浠朵腑鐨勬枃妗f敞閲娿 鐗瑰埆鏄紝瀹冭璇嗘敞閲婄殑鈥楡soap鈥欐爣璁癷t锛屽苟鎻愬彇鐗〢PI 鏂规硶鍜岀被鍨嬪畾涔夈

鍦ㄦ湇鍔$被涓紝涓涓繙绋嬭皟鐢ㄧ殑鏂规硶蹇呴』鏄叕鍏辨柟娉曚笌doc 娉ㄩ噴鍧楀寘鍚楡soap鈥欐爣璁般傚湪鏂囨。娉ㄩ噴锛岀被鍨嬪拰鍚嶇О 姣忎竴涓緭鍏ュ弬鏁板拰杩斿洖鍊肩殑绫诲瀷搴斾娇鐢 鏍囧噯phpdoc鏍煎紡銆

CWsdlGenerator璇嗗埆浠ヤ笅鐨勫師濮嬬被鍨嬶紙鍖哄垎澶у皬鍐欙級 鍙傛暟鍜岃繑鍥炵被鍨嬪0鏄庯細
  • str/string锛氬搴斾簬xsd锛歴tring锛
  • int/integer锛氬搴斾簬xsd锛歩nt锛
  • float/double锛氬搴斾簬xsd锛歠loat锛
  • bool/boolean锛氬搴斾簬xsd锛歜oolean锛
  • date锛氬搴斾簬xsd锛歞ate锛
  • time锛氬搴斾簬xsd锛歵ime锛
  • datetime锛氬搴斾簬xsd锛歞ateTime锛
  • array锛氬搴斾簬xsd锛歴tring锛
  • object锛氬搴斾簬xsd锛歴truct锛
  • mixed锛氬搴斾簬xsd锛歛nyType銆


濡傛灉绫诲瀷涓嶆槸涓涓師濮嬬被鍨嬶紝瀹冭璁や负鏄竴涓被绫诲瀷锛 CWsdlGenerator灏嗗鎵惧叾灞炴у0鏄庛傚彧鑰冭檻鍏叡灞炴э紝 瀹冧滑鍚勮嚜鍏宠仈鍒板寘鍚潃鈥楡soap鈥欐爣绛剧殑 doc娉ㄩ噴鍧椼俤oc娉ㄩ噴鍧楀簲璇ュ0鏄庡睘鎬х殑绫诲瀷銆

CWsdlGenerator璇嗗埆浠ヤ笅鏍煎紡鐨勬暟缁勭被鍨嬶細
typeName[]锛氬搴斾簬tns锛歵ypeNameArray


涓嬮潰鏄0鏄庝竴涓繙绋嬭皟鐢ㄦ柟娉曠殑绀轰緥锛
/ **
  * foo鏂规硶銆
  * @param string 鍚嶅瓧
  * @param string 鍊
  * @return string[] 涓浜涙暟缁
  * @soap
  * /
public function foo($name,$value) {...}


浠ヤ笅鏄0鏄庝竴涓被涓庤繙绋嬭闂殑灞炴х殑渚嬪瓙锛
class Foo {
    / **
      * @var string name of foo
      * @soap
      * /
    public $name;
    / **
      * @var Member[] members of foo
      * @soap
      * /
    public $members;
}
涓婇潰鐨勨榤embers鈥欏睘鎬ф槸鈥楳ember鈥欏璞$殑鏁扮粍銆傜敱浜庘楳ember鈥欎笉鏄竴涓師濮嬬被鍨嬶紝 CWsdlGenerator浼氶噸澶嶆煡鎵撅紝鎵惧嚭鈥楳ember鈥欑殑瀹氫箟銆

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
namespace string 鐢ㄦ潵鐢熸垚WSDL鐨勫懡鍚嶇┖闂淬 濡傛灉涓嶈缃, 榛樿涓烘槸鐢熸垚鐨刉SDL鐨勭被鐨勫悕瀛椼 CWsdlGenerator
serviceName string 鐢熸垚鐨刉SDL鐨勫悕瀛椼 濡傛灉涓嶈缃紝榛樿涓衡漸rn:{$className}wsdl鈥溿 CWsdlGenerator

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
generateWsdl() 涓烘寚瀹氱殑绫荤敓鎴怶SDL銆 CWsdlGenerator
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent

灞炴ц缁

namespace 灞炴
public string $namespace;

鐢ㄦ潵鐢熸垚WSDL鐨勫懡鍚嶇┖闂淬 濡傛灉涓嶈缃, 榛樿涓烘槸鐢熸垚鐨刉SDL鐨勭被鐨勫悕瀛椼

serviceName 灞炴
public string $serviceName;

鐢熸垚鐨刉SDL鐨勫悕瀛椼 濡傛灉涓嶈缃紝榛樿涓衡漸rn:{$className}wsdl鈥溿

鏂规硶璇︾粏

generateWsdl() 鏂规硶
public string generateWsdl(string $className, string $serviceUrl, string $encoding='UTF-8')
$className string 绫诲悕瀛椼
$serviceUrl string Web service鐨刄RL
$encoding string WSDL鐨勭紪鐮併傞粯璁や负鈥楿TF-8鈥欍
{return} string 鐢熸垚鐨刉SDL
婧愮爜锛 framework/web/services/CWsdlGenerator.php#107 (鏄剧ず)
public function generateWsdl($className$serviceUrl$encoding='UTF-8')
{
    
$this->_operations=array();
    
$this->_types=array();
    
$this->_messages=array();
    if(
$this->serviceName===null)
        
$this->serviceName=$className;
    if(
$this->namespace===null)
        
$this->namespace="urn:{$className}wsdl";

    
$reflection=new ReflectionClass($className);
    foreach(
$reflection->getMethods() as $method)
    {
        if(
$method->isPublic())
            
$this->processMethod($method);
    }

    return 
$this->buildDOM($serviceUrl,$encoding)->saveXML();
}

涓烘寚瀹氱殑绫荤敓鎴怶SDL銆

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.