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() |