$foo = new B($this);
Böyle kod maalesef benim ihtiyaçlarını eşleşmiyor. Üst nesne özelliklerine erişmek için başka bir yolu var mı?
Ben neden anlatmaya çalışacağım. Biz bir oyun yazılımı yazmak ve bazı sınıfları çok "sıradışı" bağımlılıkları ve farklı şekillerde birbirlerine etkisi var. Kod bazen her durumda anne bağlantıları olmadan neredeyse desteklenmeyen alır bu yüzden (bazen farklı bağlamlarda bile birçok anne .. Bir Kadro Savaşı ve vb Kullanıcıya ait olabilir yani) bulunuyor.
Ve şimdi bağlantılar beni tatmin etmiyor sebebi. Ben istemci tarafı için bir çıkış oluşturmak zaman, XML nesneleri seri bir tür kullanabilirsiniz. Ebeveynler için bu bağlantıları gibi yinelenen başvurular karşılaşana kadar çok güzel çalışıyor. Onları korumalı yapabilir, ama sonra onların kullanımı ie (kukla örneği) gevşek
$this->squad->battle->getTeam($tid)->getSquad($sqid)->damageCreature(...);
Diğer yol - her serializable sınıfta serileştirme yöntemi uygulamak ve bu gibi serileştiriciye içine aramak için:
$obj->toXML($node);
$this->appendChild($node);
ama yazmak için ve desteklemek için bir sürü şey var! Ve bazen ben dinamik serileştiriciye için (daha az trafik) nesneleri oluşturmak.
Ben bile kesmek hakkında düşünün:) Bazı classess bazı özellikleri göz ardı etmek serileştiriciye "öğretmek" için). Huh ... kötü bir fikir ...
Uzun bir tartışma, ama inan bana, yani Registry ve Gözlemci uymaz. Başka fikirleri vardır?