Проблема не имеет ничего общего с порядком загрузки классов.Поскольку PayPal
расширяет PEAR
, любая функция, которая будет принимать объект PEAR
в качестве параметра, фактически может получить объект PayPal
.А поскольку метод PEAR
raiseError()
допускает до семи параметров, метод PayPal
также должен разрешать не менее семи параметров.
Наилучшим решением будет рефакторинг raiseError()
в PayPal
:
function raiseError($message = null,
$code = null,
$mode = null,
$options = null,
$userinfo = null,
$error_class = null,
$skipmsg = false)
{
return parent::raiseError($message, $code, $mode, $options,
$userinfo, 'PayPal_Error', $skipmsg);
}