我的网站上有这些错误:
严格标准:非静态方法modJumiHelper :: getCodeWritten()不应在第17行的/home/kmxsiksf/www/modules/mod_jumi/mod_jumi.php中静态调用
严格标准:非静态方法modJumiHelper :: getStorageSource()不应在第18行的/home/kmxsiksf/www/modules/mod_jumi/mod_jumi.php中静态调用
这是mod_jumi.php(第17行和第18行分别以$ code_written和$ storage_source开头)
defined('_JEXEC') or die('Restricted access');
if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
// Include the functions only once
require_once(dirname(__FILE__).DS.'helper.php');
$code_written = modJumiHelper::getCodeWritten($params); //code written or ""
$storage_source = modJumiHelper::getStorageSource($params); //filepathname or record id or ""
if(is_int($storage_source)) { //it is record id
$code_stored = modJumiHelper::getCodeStored($storage_source); //code or null(error]
}
require(JModuleHelper::getLayoutPath('mod_jumi'));
我找到了很多解决这个问题的方法来将函数转换为非静态函数,但因为我对PHP知之甚少,所以我找不到让它们工作的方法。
非常感谢你的帮助!
答案 0 :(得分:2)
导致此错误的原因是函数getCodeWritten和getStorageSource不是静态函数。
即
而不是像这样声明:
public static function getCodeWritten()
他们被宣布为:
public function getCodeWritten()
警告"修复"这可能会导致其他问题。您最好的选择是联系创建扩展程序的人员。