严格标准:Joomla 中的非静态方法错误
Posted
技术标签:
【中文标题】严格标准:Joomla 中的非静态方法错误【英文标题】:Strict Standards: Non-static method Error in Joomla 【发布时间】:2016-12-16 15:14:00 【问题描述】:我开发了一个 Joomla 组件。在管理员部分中,我使用helper/select.php
文件显示动态类别。但是我收到了这个错误:
严格标准:不应静态调用非静态方法
TrueMatrimonyHelperSelect::getProfileforlist()
,假设$this
来自不兼容的上下文
XML 代码:
<field name="createby" type="list" id="createby"
source_file="admin://components/com_astrimony/helpers/select.php"
source_class="TrueMatrimonyHelperSelect" source_method="getProfileforlist"
sortable="true" td show_link="true" url="index.php?option=astrimony&view=profile&id=[ITEM:ID]"
label="COM_MATRIMONY_REGISTER_FOR"
/>
选择文件代码
public function getProfileforlist($name='', $attr=array(), $selected_value='', $id='')
$items = FOFModel::getTmpInstance('Profilerefers', 'TrueMatrimonyModel')->enabled(1)->getList(true);
$result = array();
$result[] = Jhtml::_('select.option','',JText::_('COM_TRUEMATRIMONY_SELECT_PROFILE_FOR'));
foreach($items as $item)
$result[$item->profilerefer_id] = $item->profile_reference;
//print_r($result);exit;
return $result;
【问题讨论】:
Strict Standards: Non-static method的可能重复 【参考方案1】:将public function getProfileforlist
替换为public static function getProfileforlist
【讨论】:
以上是关于严格标准:Joomla 中的非静态方法错误的主要内容,如果未能解决你的问题,请参考以下文章
非静态方法 self::getModuleById() 不能在带有 php 8.0.1 的 Joomla 模块上静态调用