Çocuk nesneleri erişmek için sözdizimi seçenekler

0 Cevap php

Ben anlam ve teknik olarak burada benim seçimler en uygun hangi merak ediyorum. Ben basit bir cisim bir kayıt defteri sınıf yarattık, ama nesne erişim yöntemi beni en iyi merak vardır. Şu anda ilk varyasyonunu kullanıyorum:

//the Registry methods can chain, each returning a self reference
$registry = Registry::getInstance()->register('myObject', new Object);

//accessing a registered object method
//in various possible ways
Registry::getInstance()->myObject->method();        //1
Registry::getInstance()->use('myObject')->method(); //2
$registry('myObject')->method();                    //3
  • Birinci varyasyon akıcı sözdizimi ile tutarak, __get() büyü kullanır.
  • İkinci 'getter' yöntemi kullanır use().
  • Üçüncü kullanımları __invoke() öne sürülmüştür büyü, ama ben çok düşkün değilim.

Herkes fikir, ya da bu seçeneklerden herhangi biri (veya hiçbiri) kullanarak doğru bir öneriniz varsa bilmek sadece merak ediyorum. Benim durumumda bir Registry sınıfını kullanarak için nedeni ile (onları ilan use her zaman hantal) iç içe kapanışları kullanılmak üzere, kilit nesnelerin sözde küreselleşme sağlamaktır

Bu biraz http://stackoverflow.com/questions/4054424/php-closures-and-implicit-global-variable-scope de, benim diğer soruya ilişkilidir

Şimdiden teşekkürler :)

0 Cevap