ما هي الطريقة الصحيحة للعمل مع الأصول في يي؟
-
16-09-2019 - |
سؤال
لاحظت أن يي يخلق مجموعة غريبة من الدلائل (أسماء مثل 8523D23 أو 10S89B92) في دليل الأصول، وهذا حتى يحدث حتى وقت التشغيل. على سبيل المثال، حصلت إحدى الجداول الخاصة بي على أكثر من 10 سجلات، وركل الصفحات، وحصلت على ملفات جديدة في الدليل الفرعي المسمى Pager.css.
عندما أقوم بنقل موقعي من الاختبار إلى الإنتاج، هل يجب أن نسخ جميع تلك، أو مجرد إنشاء دليل "أصول" فارغ، وسيتم ملء في وقت التشغيل؟
إذا أرادت أن أضيف، على سبيل المثال، بعض المساءات المسج الجديدة، كيف يجب أن أطلع؟
على سبيل المثال، أود أن أضيف jquery.charcounter.js، هل يمكنني نسخها إلى الأصول أو ل yii/framework/web/js/source
ب إذا قمت بذلك الأخير، فكيف يمكنني الحصول على ملف .js هذا المضمن في إخراج صفحة HTML؟
المحلول
assets
يجب أن يكون دليلا ثابتا. يي يعتني بالأصول.
بالاتصال Yii::app()->assetManager->publish()
يمكن وضع بعض الأنماط أو الصور أو البرامج النصية أو حتى الدلائل بأكملها في مجلد مرئي على الويب.
pager.css
وتنتج الملفات غير المألوفة الأخرى عن طريق الحاجيات (CLinkPager
على سبيل المثال) والمكونات الأخرى (مثل CClientScript
ينشر مسج كلما كنت بحاجة إلى ذلك).
أثناء النشر، يجب أن يكون هذا المجلد فارغا، لكنه لا يهم حقا.
يجب ألا يتم إضافة الإضافات من خلال مجلدات Framework. يمكنك وضعها إما في components
Dir ونشر وقت تشغيله إذا لزم الأمر، أو في أي دليل مريح آخر مريح (مثل images
أو css
).
تحديث
لتضمين jquery.charcounter.js
, ، ضعها في components
الدليل، ثم اتصل
Yii::app()->clientScript->registerScriptFile(
Yii::app()->assetManager->publish(
Yii::getPathOfAlias('application.components').'/jquery.charcounter.js'
),
CClientScript::POS_END
);
فيما يتعلق بأسماء المجلدات الغريبة، أعتقد اعتقادا اعتقادا راسخا أنها تلوح فريدة من نوعها (أو جزء منها)، بحيث يمكن تمييزها إذا كان التطبيق يستخدم عدة ملحقات.
نصائح أخرى
سيحل هذا حل الاستعلام لأن هذا يوفر شرحا مفصلا لمجلد الأصول: