今天程序突然出现这样的报错
Fatal error: Access level to xxx must be protected (as in class xxx) or weaker in xxx.php on line
原因是子类中定义了与父类一样的方法名
子类:
private function return_json($message,$result='true') {
$data = array();
$data['result'] = $result;
$data['message'] = $message;
self::echo_json($data);
}
private function echo_json($data) {
if (strtoupper(CHARSET) == 'GBK'){
$data = Language::getUTF8($data);//网站GBK使用编码时,转换为UTF-8,防止json输出汉字问题
}
echo json_encode($data);
}
父类:
/**
* 返回json状态
*/
protected function return_json($message,$result='true') {
$data = array();
$data['result'] = $result;
$data['message'] = $message;
self::echo_json($data);
}
protected function echo_json($data) {
if (strtoupper(CHARSET) == 'GBK'){
$data = Language::getUTF8($data);//网站GBK使用编码时,转换为UTF-8,防止json输出汉字问题
}
echo json_encode($data);die;
}
解决办法
把子类中的private 改成 protected,或者避免方法重名。这里例子中很显然是相同的方法进行了重复的定义,子类删除这两个方法即可。
创造与魔法九游版本
创造与魔法九游版采用了极致创新的魔幻游戏玩法感受,游戏具备最
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类