Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 严格的标准:RPA::Preload Field()的声明应该与Foundation::Preload Field()的声明兼容_Php - Fatal编程技术网

Php 严格的标准:RPA::Preload Field()的声明应该与Foundation::Preload Field()的声明兼容

Php 严格的标准:RPA::Preload Field()的声明应该与Foundation::Preload Field()的声明兼容,php,Php,当我运行index.php并加载页面时,会出现以下错误: 严格的标准:RPA::Preload Field()的声明应该与第39行C:\xampps\htdocs\Res\RPA.php中的Foundation::Preload Field()的声明兼容 我已经看过RPA.php的第39行,这个类叫做: class RPA extends Foundation 对这个错误有什么看法吗 此函数来自基础类: public function PreLoadField($table, $column,

当我运行index.php并加载页面时,会出现以下错误:

严格的标准:RPA::Preload Field()的声明应该与第39行C:\xampps\htdocs\Res\RPA.php中的Foundation::Preload Field()的声明兼容

我已经看过RPA.php的第39行,这个类叫做:

class RPA extends Foundation
对这个错误有什么看法吗

此函数来自基础类:

public function PreLoadField($table, $column, $rowid, $coldata, &$value, $disabled=false)
        {
        $retval = false;

        if ($table === 'photos')
            {
            if ($column === 'blogentry')
                {
            $value = LookUpBlogEntries ($column, $coldata[$column]);
                $retval = true;     
                }
            }

        return $retval;
        }
此函数来自RPA类:

public function PreLoadField($table, $column, $rowid, $coldata, &$value)
        {
        $retval = parent::PreLoadField($table, $column, $rowid, $coldata, &$value);

        return $retval;
        }

RPa扩展基础..

我猜(因为你没有发布足够的代码告诉你),你正在用不同的签名在父类中重写一个方法。比如:

class A
{
    public function blah($a, $b) { }
}

class B extends class A
{
    public function blah($a) { }
}
PHP会对此抱怨(这是应该的)。调用代码需要提供一个或两个参数吗?

我的猜测(因为您没有发布足够的代码)是,您在父类中使用了一个具有不同签名的方法。比如:

class A
{
    public function blah($a, $b) { }
}

class B extends class A
{
    public function blah($a) { }
}

PHP会对此抱怨(这是应该的)。调用代码需要提供一个或两个参数吗?

在joomla安装中打开E_STRICT时,我遇到了类似的警告。在每一种情况下,我都检查了这两个函数,发现问题在于一个函数中传递的参数数量不同于另一个函数。一般来说,我可以通过添加缺少的参数(比如$param=null)来修复所有错误

我建议您对整个代码进行搜索,以查看如何调用这两个函数。这可能会为您提供有关如何解决问题的线索

祝你好运


顺便说一句,根据我的经验,你不一定要修正那些警告。在我的例子中,joomla在修复警告之前工作得很好。

在joomla安装中打开E_STRICT on时,我遇到了类似的警告。在每一种情况下,我都检查了这两个函数,发现问题在于一个函数中传递的参数数量不同于另一个函数。一般来说,我可以通过添加缺少的参数(比如$param=null)来修复所有错误

我建议您对整个代码进行搜索,以查看如何调用这两个函数。这可能会为您提供有关如何解决问题的线索

祝你好运


顺便说一句,根据我的经验,你不一定要修正那些警告。就我而言,joomla在修复警告之前工作正常。

在php.ini文件中,您需要将错误报告设置更改为排除E\u STRICT。 例如: 错误报告(E|u错误| E|u警告| E|u解析


请注意,E#u ALL也会导致此问题,因为它包括自PHP 5.0.0以来的E#u STRICT

在PHP.ini文件中,您需要更改错误报告设置以排除E#u STRICT。 例如: 错误报告(E|u错误| E|u警告| E|u解析


请注意,E#u ALL也会导致此问题,因为它包括E#u STRICT,因为PHP#5.0.0。

Foundations::Preload字段比RPA::Preload字段多1个参数($disabled)。您需要将$disabled=false添加到您的RPA方法中。该方法已添加,但仍不起作用!现在有不同的信息吗?还是什么都不做?不工作是什么意思?您的评论似乎被切断了?Foundations::Preload Field比RPA::Preload Fields($disabled)多1个参数。您需要将$disabled=false添加到您的RPA方法中。该方法已添加,但仍不起作用!现在有不同的信息吗?还是什么都不做?你不工作是什么意思?你的评论好像被切断了?