مجمع صغير ومستقل للحصول على إصدارات جميلة من سلاسل التبعيات الخاصة بك.
^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() |