Files
amb_wechatapp/addons/epay/library/Yansongda/Supports/Traits/Arrayable.php
T

33 lines
673 B
PHP

<?php
declare(strict_types=1);
namespace addons\epay\library\Yansongda\Supports\Traits;
use ReflectionClass;
use addons\epay\library\Yansongda\Supports\Str;
trait Arrayable
{
/**
* toArray.
*
* @author yansongda <me@yansongda.cn>
*
* @throws \ReflectionException
*/
public function toArray(): array
{
$result = [];
foreach ((new ReflectionClass($this))->getProperties() as $item) {
$k = $item->getName();
$method = 'get'.Str::studly($k);
$result[Str::snake($k)] = method_exists($this, $method) ? $this->{$method}() : $this->{$k};
}
return $result;
}
}