miladm / data-object
使用数据对象方法简单控制您的数据
1.1.1
2020-11-17 10:04 UTC
This package is auto-updated.
Last update: 2024-09-25 04:45:27 UTC
README
-
只需扩展此类并设置您需要的属性和方法。
use miladm\DataObject; class User extends DataObject { public string $name; public int $age; public string $email; public function validateEmail() { return $this->email == 'miladmohebnia@gmail.com'; } public function validateName() { return strlen($this->name) >= 4; } public function validate() { return $this->validateName() && $this->validateEmail(); } }
-
为设置对象构造前发生的操作创建初始化方法。
class User extends DataObject { public object $profile; public object $feed; public function init() { $this->profile = new Profile(); $this->feed = Feed::class; } }
-
您可以使用
constructor和injectMethod添加数据-
使用构造函数
class User extends DataObject { .... } $user = UserModel::get_by_id(12); $u = new User($user);
-
使用
injectMethodclass User extends DataObject { .... } $u = new User(); $user = UserModel::get_by_id(12); $u->injectData($user);
-
在DataObject中使用模型
class User extends DataObject { private $model; public function init() { $this->model = UserModel::class; } public function loadUser_byId(int $id) { $this->injectData($this->model::where(['id' => $id])->getOne()); } } $user = new User; $user->loadUser_byId(12); // code above used as alternative to code below // $user = UserModel::get_by_id(12); // $u = new User($user);