我正在为wordpress编写一个电源插件,它基本上提供了许多功能,使开发更容易。
不要担心wp的东西,这是一个PHP问题。我有一个大师班级'my_wp_funcs',以及其他一些做不同事情的大班,我已经单独编写并独立工作,例如:插入新帖子。
我希望能够使用这种语法:
$wpfuncs = new funcs;
$wpfuncs->createpost($args);
$wpfuncs->addimage();
其中createpost类扩展了funcs类,以及其他扩展func的类。
我一直在阅读抽象,但我一直在犯错误。这是我所拥有的修剪版本:
<?php
$wpfuncs = new funcs;
$wpfuncs->createpost($args);
abstract class funcs
{
abstract protected function createpost();
public function createpost($args){
$tool = new $this->boss_posttype('derp', 'derps');
}
}
class createpost extends funcs{
public function __construct(){
//do stuff
}
}
为任何帮助干杯!
答案 0 :(得分:0)
您无法在抽象类中将方法定义为abstract
,然后在同一个类中将其定义为真实。你也不能直接调用抽象类。
你可能想要这样的东西:
abstract class funcs
{
abstract public function createpost($args);
}
class myFuncs {
public function createpost($args){
$tool = new $this->boss_posttype('derp', 'derps');
// do other stuff
}
}
$wpfuncs = new myFuncs();
$wpfuncs->createpost($args);
请注意,您的实现将在您自己的类中进行,并且该实现必须与您的抽象定义相匹配。 (他们都必须公开,他们必须接受相同的论点)