سيمفوني2:هل من الممكن أن يكون الملحن.ملف جسون داخل حزمة?

StackOverflow https://stackoverflow.com//questions/20011620

سؤال

يتكون مشروعي من حزم متعددة بعضها ضروري وبعضها سأستخدمه على خوادم محددة.الآن أحتاج إلى إضافة تبعيات لحزمة غير مطلوبة.أشعر به مضيعة لإضافته كتبعية للمشروع في المركب الرئيسي.جسون لأنني قد لا تستخدم هذا الرمز إذا كنت لا تستخدم حزمة.

هل من الممكن أن يكون الملحن.ملف جسون داخل تلك الحزمة?إذا لم يكن من الممكن كيف يمكنني التعامل مع حالتي ?

مثال

src/
   Project/
      RequiredFirstBundle/
      RequiredSecondBundle/
      Non-RequiredBundle/
              composor.json 

حاولت:

//Path: src/Project/Non-RequiredBundle/composer.json

{
    "name": "project/non-requiredbundle",
    "description": "desc",
    "type": "symfony-bundle",
    "license": "MIT",
    "authors": [
        {
            "name": "name",
            "email": "email"
        }
    ],
    "require": {
        "symfony/framework-bundle": "~2.2",
        "another/dependency": "*"
    },
    "autoload": {
        "psr-0": { "Project\\Non-RequiredBundle": "" }
    },
    "target-dir": "Project/Non-RequiredBundle"
}

لكنني لا أرى أن الملف يستخدم عند التنفيذ composer.phar update

شكرا

هل كانت مفيدة؟

المحلول

إذا فهمتك بشكل صحيح ، فأنت تفكر إما في وجود إصدار برنامج واحد يحتوي على كل شيء ونشره في كل مكان ، أو لديك إصدارات متعددة مع تبعيات مختلفة منتشرة على الخادم الفردي لهذا البرنامج.

لا أعتقد أن السبب يجب أن يكون لحفظ بضعة بايت على القرص الصلب.

لكن الملحن لا يمكنه مساعدتك في ذلك.في الواقع ، أنت مجبر على تضمين أي تبعية تريد استخدامها في مكان ما في هذا الملحن.جسون لجعل الملحن إدراجه في الملقم الآلي.

سأذهب مع "إصدار واحد يناسب الجميع" وقم ببساطة بتضمين أي تبعية مطلوبة.لا داعي للقلق بشأن نشر أجزاء البرامج غير المستخدمة.ستفعل ذلك طوال الوقت ، حتى مع الأجزاء التي تعتقد أن المستخدمين سيستخدمونها.

نصائح أخرى

إذا كنت ترغب في مشاركة بعض حزم الخاص بك يجب تطويرها كما فيندوربوندلز مثل تلك من الطرف الثالث.لذلك يجب عليك إنشاء مستودع للتحكم في الإصدار لكل حزمة من حزمك وإضافة ملحن.جسون لكل حزمة.لجعل الحزم الخاصة بك متاحة لملحن سيمفوني-ملف تحتاج إلى إضافة عنوان ورل الخاص بك فيرسيونكونترول كمورد.قد يبدو شيء من هذا القبيل:

"repositories": [
    {
        "type": "vcs"
        "url": "https://github.com/igorw/monolog"
    }
],

سعيد الترميز :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top