我尝试用我的新类扩展 CheckfrontAPI 类。
在我的情况下,我使用单例模式来一次只加载一个实例,我得到了那个错误
致命错误:CheckFrontIntegrator::store() 的声明必须与第 83 行 /home/my_web_site/public_html/wp-content/plugins/checkfront/class/Checkfront_Integration.php 中的 CheckfrontAPI::store() 的声明兼容
关于如何解决该问题的任何想法?
这是 CheckfrontAPI 源代码:https ://github.com/Checkfront/PHP-SDK/blob/master/lib/CheckfrontAPI.php
这是我的类扩展该类:
<?php
class CheckFrontIntegrator extends CheckfrontAPI
{
    private static $instance = null;
    public $tmp_file = '.checkfront_oauth';
    final protected function store($data = array())
    {
        $tmp_file = sys_get_temp_dir() . DIRECTORY_SEPARATOR. $this->tmp_file;
        if(count($data))
        {
            file_put_contents(  
                $tmp_file,
                json_encode(
                    $data, 
                    true
                )
            );
        }
        elseif(is_file($tmp_file))
        {
            $data = json_decode(
                trim(
                    file_get_contents(
                        $tmp_file
                    )
                ),
                true
            );
        }
        return $data;
}
    public function session($session_id, $data = array())
    {
        $_SESSION['checkfront']['session_id'] = $session_id;
}
    public static function instance($data)
    {
        if(!isset(self::$instance))
        {
            self::$instance = new CheckFrontIntegrator($data);
        }
        return self::$instance;
    }
    public function __construct($data)
    {
        if(session_id() == '')
        {
            session_start();
        }
        parent::__construct($data, session_id());
    }
}
?>
我像这样启动该类的新实例:
$this->checkfront_integrator = CheckFrontIntegrator::instance($args);
其中 args 是类启动新对象所需的所有重要信息
编辑后
我已经从以下位置更改了我的方法存储:
final protected function store($data = array())
....
至
protected function store($data)
....
并且问题仍然存在:(