我最近从我的开发服务器上传了一个 Joomla 2.5 站点到我们的主机,并发现作为我们站点一部分的扩展之一使用的 PHP 代码在 PHP 5.5 中不再“可接受”。我不断得到
警告:从空值创建默认对象 .../helper.php 在第 36 行
由于这只是我遇到的一个错误,我想修复 php 而不是简单地隐藏警告。生成错误的相关代码行是:
$lists[$i]->id = $row->id;
我知道我应该StdClass;
在它尝试访问的变量错误之前添加一个新调用,根据 Mark Tomlin 在这篇文章中的响应如何修复 PHP 中的“从空值创建默认对象”警告
但是,作为一个 php 新手,我不确定在下面的代码中会是什么样子。
{
public static function getList($params)
{
$items = modArticlesLatestHelper::getList($params);
$text_length = intval($params->get( 'preview_count', 200) );
$tags = $params->get('strip_tags', "a,i,br");
$i=0;
$lists = array();
foreach ( $items as $row )
{
//process content plugins
$text = JHTML::_('content.prepare',$row->introtext);
$lists[$i]->id = $row->id;
$lists[$i]->thumb = self::getThumb($row->introtext,$params->get('thumb_width',160));
$lists[$i]->created = $row->created;
$lists[$i]->modified = $row->modified;
$lists[$i]->link = $row->link;
$lists[$i]->title = htmlspecialchars( $row->title );
$lists[$i]->introtext = self::prepareContent( $text, $text_length, $tags);
$i++;
}
return $lists;
}
提前感谢您的建议、想法和帮助。