我正在尝试关注DRY,我有一些我必须重用的功能。
我将它们全部作为静态函数放在一个类中,并希望在另一个类中使用它们。
将它们提供给班级的最佳方式是什么。
因为我无法扩展课程,它已经扩展了。
应该/我可以使用作文吗?
什么是最佳做法?
谢谢!
答案 0 :(得分:4)
如果它们是静态的,那么只需从你的第二堂课打电话。
First_Class::method();
答案 1 :(得分:3)
公共类方法(vs实例方法,例如非静态方法)始终可从全局范围获得,因此您可以在需要时静态调用它们。但请记住static methods are death to testability和使用global scope和used class类的硬对。你想避免这种情况,所以最好通过构造函数或setter来摆脱实例方法和passing in the dependency/object instance的静态方法。如果要确保传递的实例具有一组特定的方法,请添加interface Type Hint。