在PHP中,调用parent::hooks()而不是$this->;有什么原因吗;子类中的hooks()?

在PHP中,调用parent::hooks()而不是$this->;有什么原因吗;子类中的hooks()?,php,class,constructor,Php,Class,Constructor,我正在使用的一个类使用了parent::hooks(),我的代码分析工具表明$this->hooks()可能更合适 代码如下所示: class LQDM_Shortcodes_Recent_Series extends LQDM_Shortcodes_Base { ... public function __construct( $plugin ) { $this->run = new LQDMS_Recent_Series_Run( $plugin->sermons

我正在使用的一个类使用了
parent::hooks()
,我的代码分析工具表明
$this->hooks()
可能更合适

代码如下所示:

class LQDM_Shortcodes_Recent_Series extends LQDM_Shortcodes_Base {
  ...
  public function __construct( $plugin ) {
    $this->run = new LQDMS_Recent_Series_Run( $plugin->sermons );
    $this->admin = new LQDMS_Recent_Series_Admin( $this->run );

    parent::hooks();
  }
}

我看到的一件事是,child\uuu构造不调用parent\uu构造?

调用parent::hooks()时,您已经遇到了相同的问题您可以重写子类中的方法,但仍然只使用来自父类的代码。@Akintude Rotimi-我不这么认为…我有一个类似的问题,关于为什么在子类中找不到父类的函数…?@fbuchlak-在这种情况下,子类中没有名为hooks的方法可重写。也许这就是您的代码分析的原因该工具建议您使用$this而不是parent。您可以尝试覆盖它,在内部执行一些操作,然后查看它是否仍然显示消息您可以重写子类中的方法,但仍然只使用来自父类的代码。@Akintude Rotimi-我不这么认为…我有一个类似的问题,关于为什么在子类中找不到父类的函数…?@fbuchlak-在这种情况下,子类中没有名为hooks的方法可重写。也许这就是您的代码分析的原因该工具建议您使用$this而不是parent。你可以尝试覆盖它,在里面做一些事情,然后看看它是否仍然显示消息。