در حال بارگزاری ...

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

توسط الهه قنبری
آخرین به روز رسانی چهارشنبه 27 شهریور 1398

در این مقاله از لیداوب، قصد داریم درباره نحوه استفاده از پکیج Semantic Versioning در لاراول که جهت مدیریت نسخه‌های پکیج‌ها مورد استفاده قرار می‌گیرد، صحبت کنیم. همراه ما باشید. شاید تا به حال برای شما نیز این سوال ایجاد شده باشد که واژه سمنتیک ورژنینگ (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 سر بزنید.

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

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

دیدگاه ها

دیدگاه ها : 0


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

رایگان

اشتراک گذاری در
ثبت امتیاز
0.8 (4 رای)

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