تحدد هذه المكتبة فئة SteveGrunwellSemVerVersion ، والتي تهدف إلى تحليل أرقام الإصدار ومعالجتها بناءً على قواعد الإصدار الدلالي (المعروف أيضًا باسم "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.
يتم إصدار هذه المكتبة تحت رخصة معهد ماساتشوستس للتكنولوجيا. يرجى الاطلاع على الترخيص. md لمزيد من التفاصيل.