Diese Bibliothek definiert die SteveGrunwellSemVerVersion , die die Versionsnummern anhand der Regeln der semantischen Versioning analysieren und manipulieren soll (auch bekannt als "Semver").
Installieren Sie die Bibliothek mit Composer:
$ composer require stevegrunwell/semver-parserBitte beachten Sie, dass diese Bibliothek zwar mit PHP 7.4 und neuer kompatibel sein sollte, die Unit-Tests jedoch nur in CI gegen aktiv unterstützte Versionen von PHP durchgeführt werden.
Der Konstruktor der Version kann eine gültige semantische Version akzeptieren, die auf der Semantic Versioning 2.0.0 -Spezifikation basiert:
use SteveGrunwell SemVer Parser ;
// Import the Composer-generated autoloader.
require_once __DIR__ . ' /vendor/autoload.php ' ;
$ version = new Version ( ' 1.2.3-rc1+local ' );
// Parse the version.
$ version -> getMajorVersion (); // 1
$ version -> getMinorVersion (); // 2
$ version -> getPatchVersion (); // 3
$ version -> getPreReleaseVersion (); // rc1
$ version -> getBuildMetadata (): // local
// Modify the version.
$ version -> setMajorVersion ( 4 );
$ version -> setMinorVersion ( 5 );
$ version -> setPatchVersion ( 6 );
$ version -> setPreReleaseVersion ( ' rc2 ' );
$ version -> setBuildMetadata ( ' github-actions.ubuntu2404 ' );
// Retrieve the updated version as a string.
$ version -> getVersion (); // "4.5.6-rc2+github-actions.ubuntu2404"
( string ) $ version ; // "4.5.6-rc2+github-actions.ubuntu2404"Zusätzlich zu den oben beschriebenen Setzen und Gettern haben jede der Haupt-, Neben- und Patch -Werte entsprechende Inkrement- und Dekrement -Methoden:
// Increment values.
$ version -> incrementMajorVersion ();
$ version -> incrementMinorVersion ();
$ version -> incrementPatchVersion ();
// Decrement values.
$ version -> decrementMajorVersion ();
$ version -> decrementMinorVersion ();
$ version -> decrementPatchVersion (); Es ist erwähnenswert, dass incrementMajorVersion() und incrementMinorVersion() die Moll/Patch- und Patch -Nummern (jeweils) gemäß der Semantic Versioning 2.0.0 -Spezifikation zurücksetzen.
Diese Bibliothek wird unter der MIT -Lizenz veröffentlicht. Weitere Informationen finden Sie unter Lizenz.MD.