/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Clock/ClockAwareTrait.php
38 строк
841 B
Nicolas Grekas
[7.0] Cleanup legacy code paths
19 окт 2023, 17:20
19 окт 2023, 17:20
e5f7677
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Clock; use Psr\Clock\ClockInterface; use Symfony\Contracts\Service\Attribute\Required; /** * A trait to help write time-sensitive classes. * * @author Nicolas Grekas <p@tchwork.com> */ trait ClockAwareTrait { private readonly ClockInterface $clock; #[Required] public function setClock(ClockInterface $clock): void { $this->clock = $clock; } protected function now(): DatePoint { $now = ($this->clock ??= new Clock())->now(); return $now instanceof DatePoint ? $now : DatePoint::createFromInterface($now); } }