Modelྫ class UserAccount { public $id = 0; public $email = ""; public $hashed_password = ""; public $name = ""; public function __construct() { if ($this->id === 0) return; // PDO fetchͳΒҎ࣮߱ߦ͞ΕΔ $this->id = (int)$this->id; } public function getPublicData(): array { $list = get_object_vars($this); unset($list['id']); unset($list['hashed_password']); return $list; }
// ଓ͖ public function setPassword(string $new_plain_password): void { $this->hashed_password = password_hash($new_plain_password, PASSWORD_DEFAULT); } public function passwordVerification(string $plain_pass): bool { return password_verify($plain_pass, $this->hashed_password); } public function isValid(): bool { return count($this->validate()) === 0; } public function validate(): array { /* ... লུ ... */ return []; // is OK }