ห้องสมุดนี้กำหนดคลาส SteveGrunwellSemVerVersion ซึ่งมีไว้เพื่อแยกวิเคราะห์และจัดการหมายเลขเวอร์ชันตามกฎของการกำหนดเวอร์ชันความหมาย (aka "semver")
ติดตั้งไลบรารีโดยใช้นักแต่งเพลง:
$ composer require stevegrunwell/semver-parserโปรดทราบว่าในขณะที่ไลบรารีนี้ควรเข้ากันได้กับ PHP 7.4 และใหม่กว่าการทดสอบหน่วยจะทำงานใน CI กับ PHP รุ่นที่รองรับอย่างแข็งขันเท่านั้น
ตัวสร้างของคลาส Version สามารถยอมรับเวอร์ชันความหมายที่ถูกต้องตามข้อกำหนดความหมายเวอร์ชัน 2.0.0:
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"นอกเหนือจากตัวตั้งตัวและผู้ที่อธิบายไว้ข้างต้นแล้วแต่ละค่าที่สำคัญผู้เยาว์และแพตช์มีวิธีการเพิ่มขึ้นและการลดลงที่สอดคล้องกัน:
// Increment values.
$ version -> incrementMajorVersion ();
$ version -> incrementMinorVersion ();
$ version -> incrementPatchVersion ();
// Decrement values.
$ version -> decrementMajorVersion ();
$ version -> decrementMinorVersion ();
$ version -> decrementPatchVersion (); เป็นเรื่องที่น่าสังเกตว่า incrementMajorVersion() และ incrementMinorVersion() จะรีเซ็ตหมายเลขผู้เยาว์/แพทช์และแพตช์ (ตามลำดับ) ตามข้อกำหนดความหมาย 2.0.0
ห้องสมุดนี้เปิดตัวภายใต้ใบอนุญาต MIT โปรดดูใบอนุญาตสำหรับรายละเอียดเพิ่มเติม