2013-02-11 10 views

答えて

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

警告が状況になる可能性があるため、コード全体がわからない場合は、作成行に条件を追加することをお勧めします。例: if(!is_object($ items [$ i])){$ items [$ i] = new stdClass;} $ items [$ i] - > title = $ crs_post_title; –

+0

インスタンス化を意味します。初期化しません。 – Matth3w

+1

@マークトムリン私は今解決されている同様の問題を抱えていた –

関連する問題