khm/src/khm/Abstracts/AbstractVersionedSoftware.php

30 lines
701 B
PHP

<?php
namespace khm\Abstracts;
abstract class AbstractVersionedSoftware extends AbstractSoftware
{
/**
* @return string
*/
abstract public function toVersion(): string;
/**
* @return string
*/
public function toString(): string
{
return implode(' ', array_filter([$this->family, $this->toVersion()]));
}
/**
* @param string|null ...$args
* @return string
* @noinspection PhpUnused
*/
protected function formatVersion(?string ...$args): string
{
return implode('.', array_filter($args, 'is_numeric'));
}
}