You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace OSS\Model;
/** * Class LoggingConfig * @package OSS\Model * @link http://help.aliyun.com/document_detail/oss/api-reference/bucket/PutBucketLogging.html */ class LoggingConfig implements XmlConfig { /** * LoggingConfig constructor. * @param null $targetBucket * @param null $targetPrefix */ public function __construct($targetBucket = null, $targetPrefix = null) { $this->targetBucket = $targetBucket; $this->targetPrefix = $targetPrefix; }
/** * @param $strXml * @return null */ public function parseFromXml($strXml) { $xml = simplexml_load_string($strXml); if (!isset($xml->LoggingEnabled)) return; foreach ($xml->LoggingEnabled as $status) { foreach ($status as $key => $value) { if ($key === 'TargetBucket') { $this->targetBucket = strval($value); } elseif ($key === 'TargetPrefix') { $this->targetPrefix = strval($value); } } break; } }
/** * 序列化成xml字符串 * */ public function serializeToXml() { $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><BucketLoggingStatus></BucketLoggingStatus>'); if (isset($this->targetBucket) && isset($this->targetPrefix)) { $loggingEnabled = $xml->addChild('LoggingEnabled'); $loggingEnabled->addChild('TargetBucket', $this->targetBucket); $loggingEnabled->addChild('TargetPrefix', $this->targetPrefix); } return $xml->asXML(); }
/** * @return string */ public function __toString() { return $this->serializeToXml(); }
/** * @return string */ public function getTargetBucket() { return $this->targetBucket; }
/** * @return string */ public function getTargetPrefix() { return $this->targetPrefix; }
private $targetBucket = ""; private $targetPrefix = "";
}
|