Bugün MVC hakkında bir Eğitici okudum, bu adam özel bir üye değerine erişmek için magic-methods (__get & __set()) kullanıyordu. (LINK) İlk önce, __get ve __set'in ne yaptığına dair kafam karışmıştı, ama sonunda internetten kurtulamam gerekenleri okuduktan sonra, üye dışarıdan erişilemezse, bu yöntemlerin çağrıldığını anladım. kolay anlaşılması Onun IMO bir yol - sanırım, normal alıcı ve ayarlayıcı kullanabilirsiniz__get() & __set() yöntemlerinin anlamı nedir?
class Foo { private $bar; public __set($value) { $this->bar = $value; } public __get() { return $this->bar; } }
:
Şimdiye kadar ...Ama böyle bir kod olması mantıklı değil
Üyeye __get & __set ile erişmek isterseniz, aynı zamanda üye herkese açık hale getirebilirsiniz - Ben de bunun nedenini anlamıyorum. Bana (belki de bir örnekle) bu 2 yöntemin ne anlama geldiğini söyleyebilir misin?
Sağladığınız bağlantıda örnek olarak yazdıklarınızdan bir şey görmüyoruz. Bir dizi kullanıyor, tek bir özellik değil '$ this-> vars [$ index] = $ value ; '. bir dizindeki tuşlara erişmek için '__set' ve' __get' kullanmanın anlamı oldukça okunaklı. Ya da her anahtar için bir erişimci yazmak ister misiniz? – dbf
Bu doğru ama bunu farklı öğreticilerde de gördüm .... Ayrıca bir dizi ayarlamak için normal alıcıyı ve ayarlayıcıyı da kullanabilirsiniz değil mi? – Petschko
Yazdığım gibi, bunları kullanmak meşru, bunları kullanmak akıllıca olduğunu söylemedim;) – dbf