【问题标题】:Strict Standards: Non-static method lang::utf8decode() should not be called statically in严格标准:非静态方法 lang::utf8decode() 不应该被静态调用
【发布时间】:2014-07-13 11:07:35
【问题描述】:

我有这条线

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

【问题讨论】:

    标签: php utf-8 utf utf8-decode


    【解决方案1】:

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

    public static function utf8decode(){}
    

    或者不要静态调用它,而是这样做:

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

    【讨论】:

    • 谢谢,但我仍然不知道如何根据您的回答进行更改。对不起,我真的不知道类...
    • 使用 lang::utf8decode(); 的任何地方,删除该调用并将其更改为 $lang=new $lang(); $lang->utf8decode();它将停止给出错误;)
    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2015-05-08
    • 2011-06-08
    相关资源
    最近更新 更多