fonksiyonları küresel nasıl?

2 Cevap php

Ben DRY takip etmeye çalışıyorum ve ben yeniden bazı işlevleri var.

i bir sınıf gibi tüm statik işlevleri onları koymak ve başka bir sınıfta onları kullanmak istiyorum.

ne bir sınıf için onları kullanılabilir hale getirmek için en iyi yoldur.

i sınıfını genişletmek edemiyorum, onun zaten genişletilmiş.

/ i bileşim kullanabilir gerekir?

en iyi uygulama nedir?

teşekkürler!

2 Cevap

Genel sınıf yöntemleri (örnek yöntemleri vs, örneğin statik olmayan) her zaman küresel kapsam mevcuttur, bu nedenle gerektiğinde sadece statik onları diyebiliriz. Ama unutmayın ki static methods are death to testability ve global scope sınıfları ve used class kullanılarak sert bir çift. Bunu önlemek istiyorsanız, bu nedenle örnek yöntemleri ve passing in the dependency/object instance kurucu veya bir setter ile lehine statik yöntemlerden kurtulmak için iyi bir uygulamadır. Ekle bir interface Type Hint Eğer geçti örnek yöntemleri belirli bir dizi olduğundan emin olmak istiyorsanız.

Bunlar statik iseniz o sadece ikinci sınıf diyoruz.

First_Class::method();