Wrapper ขนาดเล็กที่เป็นอิสระเพื่อรับสตริงเวอร์ชันที่สวยงามของการพึ่งพาของคุณ
^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 "
}
}
แพ็คเกจนี้เกิดเป็นกระดาษห่อแบบบางสำหรับ ocramius/เวอร์ชันแพ็คเกจ ด้วยการมาถึงของ 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() |