Utilitários de versão

Inphinit\Utility\Version é um utilitário para analisar strings de versão, modificar seus componentes e comparar versões.

Analisando a string de versão

use Inphinit\Utility\Version; $version = new Version('1.0.0'); var_dump($version);

Saída:

object(Inphinit\Utility\Version)#37 (2) { ["data":"Inphinit\Utility\Version":private]=> array(5) { ["major"]=> string(1) "1" ["minor"]=> string(1) "0" ["patch"]=> string(1) "0" ["prerelease"]=> NULL ["build"]=> NULL } ["cache":"Inphinit\Utility\Version":private]=> NULL }

Modificar propriedades

use Inphinit\Utility\Version; $input = '1.0.0'; $version = new Version($input); $version->major = '2'; $version->minor = '4'; $version->patch = '6'; $version->prerelease = ['a', 'b', 'c']; $version->build = ['1', '2', '3']; $output = "{$output}"; // to string echo "Before: {$input}, after: {$output}";

Verifique se a string de versão é válida.

use Inphinit\Utility\Version; $input = '1.0.0'; if (Version::valid($input)) { echo 'Valid version'; } else { echo 'Invalid version'; }

Comparar versões

O método Version::compare() retorna -1 se a versão atual for menor que a versão comparada, retorna 0 se forem equivalentes e, 1 se for maior, retorna falso. Exemplo:

use Inphinit\Utility\Version; $beta2 = new Version('1.0.0-beta2'); $dev1 = new Version('1.0.0-dev1'); $release = new Version('1.0.0'); echo '$beta2 compare to $beta2: ', $beta2->compare($beta2), '<br>'; echo '$beta2 compare to $dev1: ', $beta2->compare($dev1), '<br>'; echo '$beta2 compare to $release: ', $beta2->compare($release), '<br>'; echo '$dev1 compare to $beta2: ', $dev1->compare($beta2), '<br>'; echo '$dev1 compare to $release: ', $dev1->compare($release), '<br>'; echo '$release compare to $beta2: ', $release->compare($beta2), '<br>'; echo '$release compare to $dev1: ', $release->compare($dev1), '<br>';

Saída:

$beta2 compare to $beta2: 0 $beta2 compare to $dev1: 1 $beta2 compare to $release: -1 $dev1 compare to $beta2: -1 $dev1 compare to $release: -1 $release compare to $beta2: 1 $release compare to $dev1: 1
Página inicial
Apoie com uma estrela no GitHub