如何使功能全球化?

时间:2010-04-30 10:02:10

标签: php oop

我正在尝试关注DRY,我有一些我必须重用的功能。

我将它们全部作为静态函数放在一个类中,并希望在另一个类中使用它们。

将它们提供给班级的最佳方式是什么。

因为我无法扩展课程,它已经扩展了。

应该/我可以使用作文吗?

什么是最佳做法?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果它们是静态的,那么只需从你的第二堂课打电话。

First_Class::method();

答案 1 :(得分:3)

公共类方法(vs实例方法,例如非静态方法)始终可从全局范围获得,因此您可以在需要时静态调用它们。但请记住static methods are death to testability和使用global scopeused class类的硬对。你想避免这种情况,所以最好通过构造函数或setter来摆脱实例方法和passing in the dependency/object instance的静态方法。如果要确保传递的实例具有一组特定的方法,请添加interface Type Hint