在 php v 5 中,这些 php 代码没有问题:
<?php
$ERRORS=array("INVALID_ERROR"=>"Invalid/Unknown error",
"ACCESS_DENIED"=>"Access Denied",
"INVALID_INPUT"=>"Invalid Input",
"INCOMPLETE_REQUEST"=>"INCOMPLETE REQUEST"
);
class Error
{ /* This Class is for errors reported from core or interface.
Normally errors should consist of lines of ( keys and messages), formated in a string like "key|msg"
key shows what is error about and msg is the error message for this situation
*/
function Error($err_str)
{
$this->raw_err_str=$err_str;
$this->err_msgs=array();
$this->err_keys=array();
$this->__splitErrorLines();
}
function __splitErrorLines()
{
$err_lines=split("\n",$this->raw_err_str);
foreach($err_lines as $line)
$this->__splitError($line);
}
function __splitError($err_str)
{
$err_sp=split("\|",$err_str,2);
if(sizeof($err_sp)==2)
{
$this->err_msgs[]=$err_sp[1];
$this->err_keys[]=$err_sp[0];
}
else
{
$this->err_msgs[]=$err_str;
$this->err_keys[]="";
}
}
function getErrorKeys()
{/*
Return an array of error keys
*/
return $this->err_keys;
}
function getErrorMsgs()
{/*
Return array of error msgs
useful for set_page_error method of smarty
*/
return $this->err_msgs;
}
function getErrorMsg()
{/*
Return an string of all error messages concatanated
*/
$msgs="";
foreach ($this->err_msgs as $msg)
$msgs.=$msg;
return $msgs;
}
}
function error($error_key)
{/* return complete error message of $error_key */
global $ERRORS;
if (isset($ERRORS[$error_key]))
return new Error($error_key."|".$ERRORS[$error_key]);
else
return new Error($ERRORS["INVALID_ERROR"]);
}
?>
但是在安装 php v7.3.2 之后我得到了这个错误:
弃用:与其类同名的方法在 PHP 的未来版本中将不再是构造函数;错误在第 12 行的 /usr/local/IBSng/interface/IBSng/inc/errors.php 中有一个已弃用的构造函数
致命错误:无法声明类错误,因为该名称已在第 12 行的 /usr/local/IBSng/interface/IBSng/inc/errors.php 中使用
致命错误是什么意思?我该如何解决?