Глава 34: черновик главы

This commit is contained in:
Igor Simdyanov
2022-05-23 23:16:07 +03:00
parent cb05904fa2
commit caf3fe1d80
11 changed files with 231 additions and 1 deletions

View File

@ -0,0 +1,39 @@
<?php
require_once 'attribute_exception.php';
require_once 'password_exception.php';
class User
{
public function __construct(
private string $email,
private string $password,
private ?string $first_name = null,
private ?string $last_name = null)
{
}
public function __get(string $index) : ?string
{
if($index == 'password') {
throw new PasswordException;
}
if (isset($this->$index)) {
return $this->$index;
} else {
throw new AttributeException($index);
}
}
public function __set(string $index, string $value) : void
{
if (isset($this->$index)) {
$this->$index = $value;
}
else {
throw new AttributeException($index);
}
}
public function isPasswordCorrect($password)
{
return $this->password == $password;
}
}