شرح صفوف ومحتوى الفقرة
تتبع حزم Composer نظام الإصدارات الدلالي (MAJOR.MINOR.PATCH مثل 3.7.2)، ويحفظ الملف composer.lock الإصدارات المثبتة بالضبط لضمان تطابق بيئات الفريق وخوادم الإنتاج.
- يسمح رمز القبعة
^3.7بتحديثات الميزات الفرعية والإصلاحات الأمنية (>=3.7.0 <4.0.0) مع منع التحديث لإصدار رئيسي يكسر التوافق. - احفظ دائماً ملفي
composer.jsonوcomposer.lockفي مستودع Git، واستبعد مجلد/vendor/عبر إضافته إلى.gitignore. - عند النشر على خادم الإنتاج، شغّل دائماً
composer install --no-dev --optimize-autoloaderلقراءة الإصدارات الدقيقة منcomposer.lock.
يسمح القيد ^3.7 بالإصدار 3.9.4 المتوافق، بينما يمنع الترقية التلقائية إلى الإصدار الرئيسي 4.0.0.
PHP
<?php
namespace App\Release;
class SemVerCheck {
public static function allowsCaret37(string $ver): bool {
return version_compare($ver, "3.7.0", ">=") && version_compare($ver, "4.0.0", "<");
}
}
echo "3.9.4 allowed: " . (SemVerCheck::allowsCaret37("3.9.4") ? "Yes" : "No") . "\n";
echo "4.0.0 allowed: " . (SemVerCheck::allowsCaret37("4.0.0") ? "Yes" : "No") . "\n";