Ebeveynden çocuğa nesne aktarma

1 Cevap php

Şu anda varsayılan olarak, oturum açmış kullanıcı için bir IPSMember nesnesi oluşturur PHP, olduğu IP.Board çerçevesini kullanarak bir özel uygulama geliştiriyorum. Ancak, temelde, ek bir sınıf geliştiriyorum

class SpecialUser extends IPSMember

IPSMember SpecialUser değiştirmek için ana nesne almak için bir yolu var mı?

1 Cevap

Emin değilim, ama içten nesne türünü değiştirmek için bir yolu var olduğuna inanmıyorum. En azından, ben () farklı bir sınıfın bir nesnesi döndürür bir __ yapıya sahip yapamaz oldum.

En kolay yolu, belki de, bir SpecialUser nesnesi döndüren, özelliklerini bir IPSMember nesne alır ve çevirir SpecialUser statik bir başlatıcı yöntem oluşturmak olacaktır.

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

Yansıma Sınıfının En GetProperties yöntem hızlı bir şekilde bu yapmak sağlayabilir. http://php.net/manual/en/reflectionclass.getproperties.php

Hopefully someone can offer you a quicker solution. Good luck.