public static function take(AggregateIdInterface $aggregateId, AggregateRootInterface $aggregate, $version)
    {
        $dateTime = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', microtime(true)));

        return new static($aggregateId, $aggregate, $version, $dateTime);
    }
public static function take(AggregateIdInterface $aggregateId, AggregateRootInterface $aggregate, $version)
    {
        $dateTime = \DateTimeImmutable::createFromFormat('U.u', sprintf('%.6F', microtime(true)));

        return new static($aggregateId, $aggregate, $version, $dateTime);
    }
public static function take ( AggregateIdInterface $ aggregateId , AggregateRootInterface $ aggregate , $ version ) { $ dateTime = \ DateTimeImmutable :: createFromFormat ( 'U.u' , sprintf ( '%.6F' , microtime ( true ) ) ) ; return new static ( $ aggregateId , $ aggregate , $ version , $ dateTime ) ; }
Take a snapshot
@param AggregateIdInterface $aggregateId
@param AggregateRootInterface $aggregate
@param int $version
@return static
Take a snapshot