مجمع صغير ومستقل للحصول على إصدارات جميلة من سلاسل التبعيات الخاصة بك.
^1.5 || ^2.0 ، للحصول على كافة الوظائف دون تقييد المستخدمين النهائيين لديك بالترقية فورًا إلى Composer 2.للتثبيت استخدم Composer:
composer require 'jean85/pretty-package-versions:^1.5 || ^2.0'composer.json الخاص بك: {
"require" : {
"jean85/pretty-package-versions" : " ^1.5 || ^2.0 "
}
} وُلدت هذه الحزمة كغلاف رفيع لإصدارات الأوكراميوس/الحزمة؛ مع ظهور Composer 2، لم تعد هناك حاجة لذلك، حيث يمكننا استخدام ComposerInstalledVersions مباشرة. أدى هذا إلى مخطط توافق الإصدار هذا:
pretty-package-versions | الملحن | التبعية المستخدمة |
|---|---|---|
| ما يصل إلى 1.2 | 1.x فقط | ocramius/package-versions |
| 1.3 | كل من 1.x و2.x | composer/package-versions-deprecated ، شوكة ocramius/package-versions |
| 1.4 | 2.x فقط | لا أحد |
| 1.5+ | كل من 1.x و2.x | composer/package-versions-deprecated ، شوكة ocramius/package-versions |
| 2.0 | 2.x فقط | لا أحد |
هذا يعني أنه، باستخدام هذه الحزمة، يمكنك الحصول على إصدارات جميلة دون ربط المستخدم الخاص بك بأي إصدار محدد من Composer، مع مسار ترقية سلس. تم التراجع عن الإصدار 1.4 بسبب بعض المناقشات في رقم 21 والقضايا ذات الصلة.
يجب استخدام هذه الحزمة مع فئة واحدة، Jean85PrettyVersions : فهي توفر طريقة واحدة تقوم بإرجاع كائن Jean85Version للحزمة المطلوبة، كما في هذا المثال:
use Jean85 PrettyVersions ;
$ version = PrettyVersions:: getVersion ( ' phpunit/phpunit ' );
$ version -> getPrettyVersion (); // '6.0.0'
$ version -> getShortVersion (); // '6.0.0'
$ version -> getVersionWithShortReference (); // '6.0.0@fa5711'
$ version = PrettyVersions:: getVersion ( ' roave/security-advisories ' );
$ version -> getPrettyVersion (); // 'dev-master@7cd88c8'
$ version -> getShortVersion (); // 'dev-master'
$ version -> getVersionWithShortReference (); // 'dev-master@7cd88c8' تحتوي فئة Version أيضًا على طريقة __toString() ، بحيث يمكن تحويلها بسهولة إلى سلسلة؛ ستكون النتيجة هي نفس استدعاء الأسلوب getPrettyVersion() .
تحتوي فئة Jean85Version على هذه الطرق العامة المتاحة:
getPrettyVersion(): string : إذا كانت الحزمة المطلوبة عبارة عن إصدار موسوم، فسوف تُرجع النسخة القصيرة فقط؛ إذا لم يكن الأمر كذلك، فسيتم إخراج نفس النتيجة مثل getVersionWithShortCommit()
getShortVersion(): string : ستعيد فقط إصدار الحزمة (على سبيل المثال 6.0.0 ، v.1.7.0 ، 99999-dev ، إلخ...)
getReference(): string مرجع الحزمة المثبتة، وبشكل عام تجزئة التزام Git الكاملة
getShortReference(): string النسخة المختصرة من المرجع (أي fa5711 )
getVersionWithShortReference(): string : ستعيد إصدار الحزمة، متبوعًا بالإصدار القصير من المرجع (أي 6.0.0@fa5711 )
getPackageName(): string اسم الحزمة الأصلي
getFullVersion(): string نفس قيمة PackageVersionsVersions::getVersion()
__toString(): string نفس getPrettyVersion()
منذ الإصدار 1.5، هناك طريقتان إضافيتان متاحتان:
PrettyVersions::getRootPackageName بإرجاع اسم الحزمة للمشروع (الجذر) الحالي، وبالتالي فإن قيمة خاصية name في composer.json الخاص بك؛ إنها طبقة توافق يتم استخدامها بدلاً من PackageVersionsVersions::ROOT_PACKAGE_NAME ، والتي ستكون تبعية عابرة وليس من المضمون وجودهاPrettyVersions::getRootPackageVersion ، وهو اختصار لـ PrettyVersions::getVersion(PrettyVersions::getRootPackageName()) تم تقديم الأساليب ذات reference في الاسم في الإصدار 2.0، لتعكس بشكل أفضل معنى البيانات المستردة من Composer 2 API. السلوك هو نفس الأساليب القديمة، التي لا تزال موجودة ولكنها مهملة:
| طريقة جديدة | طريقة قديمة ومهملة |
|---|---|
Version::getReference() | Version::getCommitHash() |
Version::getShortReference() | Version::getShortCommitHash() |
Version::getVersionWithShortReference() | Version::getVersionWithShortCommit() |