Composer¶
لنشر package بلغة PHP بصيغة Composer على ليڤانت غيت (LevantGit)، اضغط
مشروعك في أرشيف zip يحوي ملف composer.json، وارفعه بطلب PUT عبر curl مع access token
بصلاحية package — فلا يوجد أمر composer publish. ولاستخدام الحزمة، أضف الـ registry إلى مشروعك
ثم نفّذ composer require.
ملاحظة
الـ package registry متاح إن كان مفعّلاً على levantgit.com؛ تظهر تبويبة Packages في ملفك الشخصي أو في الـ repository عندها.
ما تحتاج إليه¶
- Composer لتثبيت الـ packages.
- عميل HTTP مثل
curlلرفعها (لا يوجد أمرcomposer publish). - اسم المستخدم وكلمة المرور، أو access token من إعدادات الحساب: Settings ←
Applications، بصلاحية
package. إن كنت تستخدم 2FA أو OAuth فاستخدم الـ access token بدل كلمة المرور.
نشر package¶
النشر طلب HTTP من نوع PUT يحمل محتوى الـ package في جسمه. المحتوى هو مشروع PHP مضغوطًا بصيغة
zip ويحوي ملف composer.json.
لا يمكن نشر package إن كانت أخرى بالاسم نفسه والإصدار نفسه موجودة؛ احذف القديمة أولًا.
| المعامل | الوصف |
|---|---|
owner |
الـ owner: اسم المستخدم أو الـ organization. |
إن لم يحوِ composer.json خاصية version، فمرّر الإصدار كمعامل استعلام:
مثال بالمصادقة الأساسية (HTTP Basic):
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
https://levantgit.com/api/packages/testuser/composer
أو مع تحديد الإصدار:
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
https://levantgit.com/api/packages/testuser/composer?version=1.0.3
يردّ الخادم بأحد رموز الحالة التالية:
| رمز الحالة | المعنى |
|---|---|
201 Created |
نُشرت الـ package. |
400 Bad Request |
الـ package غير صالحة. |
409 Conflict |
توجد package بالاسم والإصدار نفسيهما. |
ضبط الـ registry في Composer¶
أضف الـ registry إلى ملف config.json الخاص بـ Composer (عادةً في
<user-home-dir>/.composer/config.json):
{
"repositories": [{
"type": "composer",
"url": "https://levantgit.com/api/packages/{owner}/composer"
}
]
}
وللوصول ببيانات دخول (ضروري للـ packages الخاصة) أضفها إلى ملف auth.json:
| المعامل | الوصف |
|---|---|
owner |
الـ owner. |
username |
اسم المستخدم في ليڤانت غيت. |
password |
كلمة المرور أو الـ access token. |
نصيحة
لا تضع auth.json في أي commit داخل الـ repository؛ أضفه إلى ملف .gitignore.
تثبيت package¶
ويمكنك تحديد الإصدار:
| المعامل | الوصف |
|---|---|
package_name |
اسم الـ package كما في composer.json (مثل vendor/name). |
package_version |
إصدار الـ package. |
ماذا بعد؟¶
هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.