PHP-在扩展类中调用子类

时间:2019-05-16 14:00:34

标签: php oop

我有这个类,可以简单地转换一些文本数据:

regexTextReplace

class regexTextReplace extends Rule
{
    public function apply(array $table): array
    {
        return $this->applyRule(get_class($this), $content);
    }


    public function rule($content)
    {
        return preg_replace($this->pattern, $this->replacement, $content);
    }
}

现在,这只是许多规则类之一。我所有的规则类都扩展了Rule,如下所示:

class Rule
{
    public function applyRule(string $rule, array $content): array
    {
       return = array_map("{$rule}::rule", $rows);

    }
}

现在,applyRule类中的Rule方法正被许多其他解析规则类扩展。这是因为所有这些类都使用applyRule()方法,并且此方法的代码始终相同。

上面的代码给我这个错误:

regexTextReplace::rule() should not be called statically

有没有办法,我可以从扩展的rule()类的解析规则类(regexTextReplace)中引用Rule方法?

0 个答案:

没有答案