初始化仓库
This commit is contained in:
50
vendor/alibabacloud/tea/src/Parameter.php
vendored
Normal file
50
vendor/alibabacloud/tea/src/Parameter.php
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace AlibabaCloud\Tea;
|
||||
|
||||
use ArrayIterator;
|
||||
use IteratorAggregate;
|
||||
use ReflectionObject;
|
||||
use Traversable;
|
||||
|
||||
/**
|
||||
* Class Parameter.
|
||||
*/
|
||||
abstract class Parameter implements IteratorAggregate
|
||||
{
|
||||
/**
|
||||
* @return ArrayIterator|Traversable
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function getIterator()
|
||||
{
|
||||
return new ArrayIterator($this->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getRealParameters()
|
||||
{
|
||||
$array = [];
|
||||
$obj = new ReflectionObject($this);
|
||||
$properties = $obj->getProperties();
|
||||
|
||||
foreach ($properties as $property) {
|
||||
$docComment = $property->getDocComment();
|
||||
$key = trim(Helper::findFromString($docComment, '@real', "\n"));
|
||||
$value = $property->getValue($this);
|
||||
$array[$key] = $value;
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function toArray()
|
||||
{
|
||||
return $this->getRealParameters();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user