PHP

2013-02-11 29 views
26

में 'रिक्त मान से डिफ़ॉल्ट ऑब्जेक्ट बनाना' को ठीक करने के लिए कैसे करें मुझे एक जूमला इंस्टॉल से निम्न त्रुटि मिलती है।PHP

Warning: Creating default object from empty value in /modules/mod_continuous_rss_scrolling/helper.php on line 54 

मैं यह त्रुटि कैसे ठीक करूं?

उत्तर

66

जैसा कि यह पता चला है, लेखक ने एक बहुत ही सरल फिक्स और सामान्य अच्छी प्रैक्टिस को याद किया है कि आपको संपत्ति सेट करने का प्रयास करने से पहले हमेशा अपनी ऑब्जेक्ट को प्रारंभ करना चाहिए। इसके लिए बहुत आसान फिक्स बस new StdClass; कॉल करने के लिए बस उस चर के साथ त्रुटि को जोड़ने के लिए है जो इसे एक्सेस करने का प्रयास कर रहा है।

$items[$i] = new StdClass; 
$items[$i]->title = $crs_post_title; 

वह पहली पंक्ति चेतावनी को दिखाने से ठीक करेगी।

यह निम्नलिखित सुधार के साथ /components/com_community/models/activities.php on line 387 में समस्या को भी ठीक करेगा।

$commentsResult[$comment->type . '-' . $comment->contentid] = new StdClass; 
$commentsResult[$comment->type . '-' . $comment->contentid]->_comment_count = 0; 
+3

यदि आप पूरे कोड को नहीं जानते हैं, तो सृजन रेखा में सशर्त जोड़ने के लिए बेहतर है, क्योंकि चेतावनी परिस्थिति हो सकती है। उदाहरण के लिए: यदि (! Is_object ($ आइटम [$ i])) {$ आइटम [$ i] = नया stdClass;} $ आइटम [$ i] -> शीर्षक = $ crs_post_title; –

+0

आपका मतलब तत्काल है। प्रारंभ नहीं – Matth3w

+1

@ मार्क टॉमलिन मेरे पास एक समान समस्या थी जिसे अब हल किया गया है –