2012-03-28 26 views
0

私は、基本的に開発を容易にするためにたくさんの関数を提供するwordpress用のパワープラグインを作成しています。子クラス関数の親クラス継承

wpのことについて心配しないでください。これはPHPの質問です。私は1つのマスタークラス 'my_wp_funcs'と、別々に書いた独自の作業をするいくつかの他の大きなクラスを持っています。例えば、新しい投稿を挿入します。

私はこの構文を使用できるようにしたいと思います:

$wpfuncs = new funcs; 
$wpfuncs->createpost($args); 
$wpfuncs->addimage(); 

はどこcreatepostクラスは、あまりにものfuncsを拡張する他のクラスと一緒に、のfuncsクラスを拡張します。

私は抽象化について読んできましたが、継続的なエラーが発生しています。ここに私が持っているもののトリマーバージョンがあります:

<?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

多分あなたが得ているエラーのいくつかを共有してください。あなたが投稿したこの「トリマー」バージョンでもエラーが出ますか? – iandouglas

答えて

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); 

注意を。 (彼らは共に公開しなければならず、同じ議論を受け入れる必要があります)

関連する問題