* @Link https://gitee.com/xmo/MineAdmin */ declare(strict_types = 1); namespace Builder\Abstracts; use Hyperf\Context\Context; use Builder\Traits\ServiceTrait; abstract class AbstractService { use ServiceTrait; public $mapper; /** * 把数据设置为类属性 * @param array $data */ public function setAttributes(array $data) { Context::set('attributes', $data); } /** * 魔术方法,从类属性里获取数据 * @param string $name * @return mixed|string */ public function __get(string $name) { return $this->getAttributes()[$name] ?? ''; } /** * 获取数据 * @return array */ public function getAttributes(): array { return Context::get('attributes', []); } }