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

时间:2014-07-13 11:07:35

标签: php utf-8 utf utf8-decode

我有这条线

$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);

1 个答案:

答案 0 :(得分:0)

错误几乎解释了你的问题;) Je静态地调用非静态方法lang :: utf8decode(),你不能这样做。 所以通过添加静态前缀来改变你的类:

public static function utf8decode(){}

或者不要静静地称呼它,但是:

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