2012-03-28 125 views
0

我正在爲wordpress編寫一個電源插件,它基本上提供了一堆功能以使開發更容易。子類功能的父類繼承

不要擔心wp的東西,但這是一個PHP問題。我有一個主類「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 2012-03-28 04:22:53

回答

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

請注意,您去實現在自己的類,並且實現了以匹配您的抽象定義。 (他們都必須公開,他們必須接受相同的論點)