class User
{
// ....
}
class Authentication
{
private $user;
public function current(): User
{
if ($this->user === null) {
$this->user = $this->loadUser();
}
return $this->user;
}
private function loadUser(): User
{
// тут получаем данные пользователя
}
}
$auth = new Authentication($database, $cookie);
// Для аутентификации может потребоваться БД и Кукисы
$auth->current(); // User
<?php
$items = [1, 2, 3, null, 4];
yield from array_map('\\is_null', $items);
// вместо
yield from array_map(function (?int $value): bool { return $value === null; }, $items);
{
"autoload": { "classmap": "/" }
}