سؤال

أتعلم حاليًا إطار YII وقراءة وثائقهم.

لكني ما زلت لا أفهم المكونات. ما هذه. يتحدثون عن أحداث المكون والسلوكيات.

هل يمكن لأحد أن يشرح لي هذه المصطلحات لي ويعطيني أمثلة على تطبيق حقيقي لما هو المكون ، والأحداث والسلوكيات التي يمكن أن تكون؟

سيكون مفيدا!

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

المحلول

المكون من تلقاء نفسه لا يفعل الكثير. إنه يشبه إلى حد كبير Qobject في QT. يمكن لمؤسسة CComponent رفع الأحداث ، ويمكن أن يكون لها مندوبين للأحداث (من خلال actacteventHandler ()).

فيما يتعلق بالسلوكيات ، يقول الدليل:

يمكن استدعاء طرق السلوك كما لو كانت تنتمي إلى المكون. يمكن إرفاق سلوكيات متعددة بنفس المكون.

لإرفاق سلوك بمكون ، استدعاء ackingbehavior ؛ وفصل السلوك من المكون ، استدعاء detachbehavior.

يمكن تمكين السلوك مؤقتًا أو تعطيله عن طريق استدعاء EnableBehavior أو DisableBehavior ، على التوالي. عند تعطيلها ، لا يمكن استدعاء طرق السلوك عبر المكون.

بدءًا من الإصدار 1.1.0 ، يمكن الوصول إلى خصائص السلوك (إما متغيرات الأعضاء العام أو خصائصه المحددة عبر getters و/أو المستقلين) من خلال المكون الذي يتم توصيله به.

الذي يمنحك إمكانية محاكاة أ إشارات وفتحات آلية ، أو نمط الاستراتيجية (عن طريق تمكين أو تعطيل السلوكيات).

معظم الفصول في YII لها ccomponent كصف أساسي.

كمستخدم ، سترى الفوائد التي يوفرونها من خلال الآليات المذكورة أعلاه عندما تقوم بإنشاء مكوناتك الخاصة (ضمن المكونات المحمية/).

يمكنك العثور على نقطة انطلاق جيدة لتنفيذ المكونات هنا: http://www.yiiframework.com/doc/guide/basics.component

نصائح أخرى

في YII ، يعمل التطبيق من خلال تفاعل كائنات مختلفة ، يمكن اعتبار هذه الكائن ببساطة "مكونات" أو "لبنات بناء" للتطبيق. المكون هو ببساطة كائن يكتب لأداء أو تسهيل مهمة معينة في تطبيق YII. إذا كنت قد نظرت إلى "سير العمل النموذجي لتطبيق YII" على [http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc budap1

أنت تدرك أنه بصرف النظر عن العرض والتخطيطات (التي تعتبر نصوصًا) و INDEX.PHP ، فإن كل ما يتفاعل مع الآخرين هو مكون. يقومون جميعًا بتنفيذ مهام مختلفة عند تشغيل التطبيق.

كل شيء تقريبًا في YII هو مكون (أو مشتق من فئة Ccomponent).

اكثر تحديدا،

CComponent ينفذ بروتوكول تعريف ، باستخدام الخصائص والأحداث. "

الأحداث : تتيح لك الأحداث إجراء تسلسل (أكثر من واحد) من الإجراءات عندما يحدث شيء محدد داخل مكون. يمكنك تحديد حدث وإرفاق عدد من الوظائف (الإجراءات) بهذا الحدث. الآن ، كلما تم رفع هذا الحدث داخل المكون ، يتم تنفيذ جميع الوظائف المرفقة بهذا الحدث. حسب فهمي ، هذه تشبه إلى حد ما مفهوم الخطافات في WordPress.

يتم تعريف التطبيق المحدد للأحداث في مكون بواسطة YII باسم

يكون من المفيد عندما تريد مقاطعة تدفق التطبيق العادي دون تمديد الفئات الأساسية.

السلوكيات : السلوكيات هي ببساطة طريقة Yii في تزويدك بالميراث المتعدد ، والتي لا تدعمها PHP5 أثناء التخلص من مشكلة الاسم المتعددة للوظيفة المتمثلة في الميراث المتعدد. إذا كنت تريد أن ترث الخصائص والأساليب من الفئة A و B. ، يمكنك تمديد الفئة A ثم إرفاق الفئة B كسلوكها ، ثم يمكنك استخدام جميع طرق الفئة B أيضًا. الآن ، إذا احتوى كل من A و B على وظيفة تسمى "مفيدة" () ، فإن جميع المكالمات إلى هذه الوظيفة ستؤدي إلى تنفيذ "مفيدة" من الفئة A فقط. إذا تمت إضافة كلا من الفئة A و B كسلوكيات إلى فئة ، فإن دعوة "Frantfunction" ستؤدي إلى تنفيذ الطريقة من السلوك الذي تم إرفاقه أولاً.

ملاحظة (أنا لست خبيرًا. لذا يرجى تصحيحني إذا كنت مخطئًا في أي مكان.)

ربما يمكن أن توفر هذه الصفحة الإضافية على ويكي المزيد من البصيرة:http://www.yiiframework.com/wiki/44/behaviors-events/

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