严格标准:非静态方法lang::utf8decode()不应该静态调用



我有这一行

$newLang[$key] = (key_exists($key2, $_LANG)) ? 
                 lang::utf8decode($_LANG[$key2], 'UTF-8') : '';
如果

出现在多个位置,似乎每个位置都会产生错误。你知道为什么会发生这种情况以及如何解决它吗?

的例子:

foreach($matches[1] as $key)
{
    $key2 = $template.'_'.md5($key);
    $newLang[$key] = (key_exists($key2, $_LANG)) ? lang::utf8decode($_LANG[$key2], 'UTF-8') : '';
}
$files[$template] = $newLang;
$count += sizeof($newLang);

这个错误解释了你的问题。如果静态地调用非静态方法lang::utf8decode(),则不能这样做。所以在你的类中通过添加静态前缀来改变它:

public static function utf8decode(){}

或者不要静态地调用它,但是:

$lang=new lang();
$lang->utf8decode(); 

相关内容

最新更新