在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。你可以尝试覆盖它,在里面做一些事情,然后看看它是否仍然显示消息。