Ben iki yıl içinde PHP programlanmış değil çünkü ben sadece orada bu dışarı atıyorum. Sadece korumalı yöntemi gibi pek çağırır sınıfına bir işlev eklemek misiniz?
$obj->publicFunc = create_function('$arg', 'return $this->protectedFunc($arg);');
Edit:
I think Tom's correct in looking at the documentation for create_function. It looks like the scope of $this will be "wrong" when you try to call it with this example.
Geleneksel anonim fonksiyonlar yanı sıra PHP 5.3.0 'dan beri desteklenmektedir (ve benim ilk çözüm muhtemelen çalışmayacaktır) gibi görünüyor, bu yüzden muhtemelen onun yerine bu gibi yazmak isterim:
$obj->publicFunc = function($arg) {
return $this->protectedFunc($arg);
};
Ben biraz temiz görünüyor (ve seçtiğiniz IDE elbette daha iyi vurgulayacaktır) düşünüyorum çünkü.
Ugh, ben yöntemini çağırmak için Reflection kullanarak çalıştı ancak PHP de bunu yapmana izin vermeyeceğim. Bu diğer posterler ettiler gibi alt sınıf çeşit kullanmak zorunda olacak gibi görünüyor. Eğer çalışan bir yöntem bulursanız, geliştiriciler muhtemelen gelecekte bir hata olarak sınıflandırmak ve size bir sonraki sürüme yükseltme yaparken kodunuzu bölünürler.
Ben sınıf uzanan öneririz.