استدعاء دالة مكون

إذا كنت استدعاء وظيفة العنصر باستخدام العلامة CFINVOKE ، كولد فيوجن إنشاء مثيل لهذا العنصر وتطلب وظيفة وردت أسماؤهم في السمة الأسلوب. في جوهرها ، كولد فيوجن instantiates كائن من فئة من هذا المكون ، ولكن اسم هذا الكائن غير مرئي لك. (ومن داخليا المشار إليه بواسطة خادم كولد فيوجن). إذا كنت تستخدم CFINVOKE لدعوة ثلاثة من مكون وظائف في كولد فيوجن قالب واحد ، كما هو موضح في رمز ، كولد فيوجن خادم يخلق ثلاث حالات منفصلة لهذا العنصر أن أعطيك ما تريد ، وهذا يست فعالة جدا.


   
   
   
   
   
   
   
 
  

الطريقة الصحيحة لاستدعاء مكون من وظائف عدة مرات من قالب واحد هو لإنشاء كائن منفصل مع الاسم الرسمي ومن ثم استدعاء وظائف هذا مثيل واحد كما كنت في حاجة اليها. رمز يبين هذا المبدأ في العمل. تلاحظ أن السمة المكون من مراجع CFINVOKE سمة مثيل من عنصر بدلا من المكون نفسه.


   

   
   
   
   
   
   
 

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

 myCompany = CreateObject ( "العنصر" ، "الشركة") ؛ 

وبالمثل ، وذلك باستخدام CFINVOKE ليست هي السبيل الوحيد لاستدعاء الدالة عنصر. بعد إنشاء مثيل مكون ، يمكنك استدعاء باستخدام أساليب بسيطة نقطة تدوين. رمز ، على سبيل المثال ، يعود لائحة الشركات التي تنتجها ListCompanies الدالة إلى متغير اسمه listOfCompanies.

 myCompany = CreateObject ( "العنصر" ، "الشركة") ؛ listOfCompanies = myCompany.ListCompanies ( 'ا') ؛ 

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

 اختر CompanyID ، اسم الشركة ، العنوان ، المدينة ، الولاية ، الرمز البريدي ، تعليقات من شركة الترتيب حسب اسم الشركة 

# # اسم الشركة :
# # تعليقات

هذا النوع من الترميز هو الاشياء السيئة ، والناس. لا نفعل ذلك. القوة الحقيقية للمحتوى المنتجة المهام ، سواء كانت محلية إلى قالب أو مغلفة ضمن مكون ، ويأتي من العودة المحتوى الوارد في معقدة ومتغيرة من نوع محدد البيانات ومن ثم دمج المحتوى مع رمز العرض التقديمي. فصل من منطق العرض (وبالتبعية ، وبيانات من العرض) ينبغي أن يكون لديك تعويذة. إذا كنت على الاطلاق ويجب إنشاء وظيفة بشكل مباشر النواتج المحتوى ، وإزالة السمة ReturnType من العلامة CFFUNCTION وإضافة الناتج = "نعم". أبدا أن يكون كل من العودة ونوع الانتاج المباشر في نفس الوظيفة. السمة المخرجات فعليا الدول الثلاث التالية :

الناتج = "نعم" يعامل الدالة بأكمله كما لو كانت داخل CFOUTPUT الزوج العلامة.

الناتج = "لا" يعامل الدالة بأكمله كما لو كانت داخل زوج CFSILENT العلامة.

القضاء على السمة المخرجات تماما تمكن السمات CFOUTPUT صريحة داخل الدالة على تسرب الإخراج إلى المستدعي.

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

 Session.myCompany = CreateObject ( "العنصر" ، "الشركة") ؛ listOfCompanies = Session.myCompany.ListCompanies ( 'ا') ؛ 

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

مقال مقدم من بيتر أندروز


تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات.
المهم : هذه المادة "وبالحديث عن مكونات الفعل" ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.


Online: 186 users browsing the articles directory   


  

|