Согласно PHP, похоже, что вы можете вызвать static() статически, но я попробовал, и он не будет работать. Похоже, что DateTime нуждается в инсайдерации, потому что конструктор принимает дату.
// According to PHP looks like it should work, but doesn't
$passwordRequest->setExpire((DateTime::modify('+12 hours'));
// Notice I have to pass a date to the construct when I instantiate
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
Лучше реализация будет делать изменения() статические с двумя аргументами, один для даты, и один для регулировки времени, что-то вроде:
public static function modify($timeAdjust, $time = time())
Это обсуждается в настоящее время для включения : https://wiki.php.net/rfc/instance-method-call – Gordon