لطفا صبر کنید ...

معرفی پکیج Semantic Versioning در لاراول

الهه قنبری

توسط الهه قنبری

مدیر
دیدگاه ها: 0
بازدید ها : 87
رایگان
هدف ما این است که شما، در بالاترین سطح طراحی و توسعه وب باشید.

ثبت نام کنید

در این مقاله از لیداوب، قصد داریم درباره نحوه استفاده از پکیج Semantic Versioning در لاراول که جهت مدیریت نسخه‌های پکیج‌ها مورد استفاده قرار می‌گیرد، صحبت کنیم. همراه ما باشید.


شاید تا به حال برای شما نیز این سوال ایجاد شده باشد که واژه سمنتیک ورژنینگ (Semantic Versioning) به چه معناست؟ در پاسخ این سوال، می‌توان گفت که در زمان کار با یک نرم‌ افزار هر چه نرم افزار شما بزرگ‌تر شده و رشد می‌کند، پکیج‌های زیادی نیز به آن افزوده می‌شوند. سیستمی که وابستگی‌های آن بسیار زیاد باشد، انتشار پکیج‌های نسخه جدید در آن می‌تواند به یک مشکل بزرگ تبدیل شود. برای حل این مشکل، مجموعه قوانین ساده‌ای ارائه‌ شده است که مشخص می‌کند از کدام شماره نسخه استفاده شود که به این قوانین سمنتیک ورژنینگ گفته می‌شود.

SemVer یک پکیج semantic versioning در زبان PHP است که توسط Chris Kankiewicz جهت پشتیبانی از عملیات تجزیه (parsing)، افزایش (incrementing) و مقایسه (comparison) در نسخه‌ها طراحی شده است. برای اینکه با نحوه کار این پکیج آشنا شوید در ادامه مقاله همراه ما باشید.

به کد زیر توجه کنید که در آن ابتدا یک شئ SemVer \ Version تعریف شده است:

use PHLAK\SemVer;

$version = new SemVer\Version(); // Initilializes to '0.1.0'

در یک نمونه از SemVer \ Version، شما می‌توانید به مقادیر منحصر به فرد زیر دسترسی داشته باشید:

$version = new SemVer\Version('v1.2.3-beta.4+007');

echo $version; // '1.2.3-beta.4+007'
echo $version->major; // 1
echo $version->minor; // 2
echo $version->patch; // 3
echo $version->preRelease; // 'beta.4'
echo $version->build; // '007'

اگر می‌خواهید کاری کنید که نسخه‌ پکیج‌های شما افزایش یابد، می‌توانید از متدهای increment این پکیج به صورت زیر استفاده کنید:

$version = new SemVer\Version('v1.2.3');

$version->incrementMajor(); // v1.2.3 -> v2.0.0
$version->incrementMinor(); // v1.2.3 -> v1.3.0
$version->incrementPatch(); // v1.2.3 -> v1.2.4

عملیات مقایسه بین نسخه‌های پکیج‌ها نیز می‌تواند بسیار مفید باشد:

$version1 = new SemVer('v1.2.3');
$version2 = new SemVer('v3.2.1');

$version1->gt($version2); // false
$version1->lt($version2); // true
$version1->eq($version2); // false
$version1->neq($version2); // true
$version1->gte($version2); // false
$version1->lte($version2); // true

کامپوزر همچنین دارای یک کتابخانه composer/semver است که دارای یک کلاس مقایسه و semver است، اما متدهای increment موجود در پکیج PHLAK / SemVer در آن وجود ندارد. برای دریافت اطلاعات بیشتر درباره این پکیج و دستورالعمل‌های نصب آن، می‌توانید به GitHub سر بزنید.

آشنایی با سایر پکیج‌های لاراول:

می‌توانید مقالات مشابه ما در لیداوب را برای آشنایی با سایر پکیج‌های لاراول دنبال کنید و در صورت نیاز از آن‌ها در برنامه کاربردی خود استفاده کنید. همچنین، ما مشتاق دریافت نظرات و سوالات شما در بخش دیدگاه‌ها هستیم.

منبع :

5 از 2 رای

 مطالب مرتبط  

در قسمت زیر مطالبی وجود دارند که با مقاله فعلی مرتبط هستند

متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

برترین های