PHP 类图
示例
在PHP中创建SOAP客户端时,还可以classmap在配置数组中设置密钥。这classmap定义了WSDL中定义的类型应映射到实际类,而不是defaultStdClass。之所以这样做,是因为您可以在这些类上获得字段的自动完成和方法调用,而不必猜测常规字段上设置了哪些字段StdClass。
class MyAddress {
public $country;
public $city;
public $full_name;
public $postal_code; //或邮递区号
public $house_number;
}
class MyBook {
public $name;
public $author;
//类图还允许我们向对象添加有用的功能
//从SOAP操作返回的内容。
public function getShortDescription() {
return "{$this->name}, written by {$this->author}";
}
}
$soap_client = new SoapClient($link_to_wsdl, [
//其他参数
"classmap" => [
"Address" => MyAddress::class, //::class简单以字符串形式返回类
"Book" => MyBook::class,
]
]);配置类映射后,无论何时执行返回类型Address或的特定操作,BookSoapClient都将实例化该类,用数据填充字段并从操作调用中返回它。
//假设“getAddress(1234)”通过数据库中的ID返回一个地址 $address = $soap_client->getAddress(1234); //由于类映射的原因,$address现在为MyAddress类型 echo $address->country; //假设'getBook(1234)'相同 $book = $soap_client->getBook(124); //我们不能使用MyBook类上定义的其他函数 echo $book->getShortDescription(); //WSDL中定义的,未在类映射中定义的任何类型 //将成为常规的StdClass对象 $author = $soap_client->getAuthor(1234); //没有针对Author类型的类映射,$author是常规的StdClass。 //我们仍然可以访问字段,但是没有自动完成功能,也没有自定义功能 //为对象定义。 echo $author->name;
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西