2010-04-24 55 views
0

我目前正在開發一個使用IP.Board框架的自定義應用程序,該框架採用PHP,默認情況下,該框架爲登錄用戶創建一個IPSMember對象。但是,我正在開發一個附加的類,基本上將對象從父項轉移到子項

class SpecialUser extends IPSMember 

有沒有辦法讓父對象,這是IPSMember更改爲SpecialUser

回答

0

我不確定,但我不相信有一種方法可以在內部更改對象類型。至少,我一直不能有一個__construct()返回一個不同類的對象。

最簡單的方法可能是在SpecialUser中創建靜態初始化方法,該方法接收IPSMember對象並轉換屬性,返回SpecialUser對象。

class SpecialUser extends IPSMember 
{ 
    public static function initWithIPSMember (IPSMember $ipsMember) 
    { 
     $specialUserObj = new SpecialUser(); 
     // translate any properties  
     return $specialUserObj; 
    } 
} 

Reflection類的getproperties方法可以使您快速做到這一點。 http://php.net/manual/en/reflectionclass.getproperties.php

希望有人能爲您提供更快的解決方案。 祝你好運。

相關問題