PHP,什么时候用到静态方法最为合适?

bachelor
  • 963

现在想写一个基本的框架练练手,也参考了几个框架,问题如下:
1. 什么时候用到静态方法最为合适?
2. 是不是静态方法用的越多,越不像面向对象了?

补充一下:是不是当我们有很多个属性全局不变的时候,但是多个地方用到的时候,这个时候写成静态类,比如操作路由。。我理解的对吗?

回复
阅读 6.8k
3 个回答

在 Java 这种语言里,方法(函数)是没法独立于类存在的,所以所有的方法都必须包含在类中,如果这个方法和具体的实例无关,那么通常就定义为静态方法。如果有一组相关的这样的方法,那么就把它们放到一个类中,这个类只有静态方法。

回到 PHP, 因为历史遗留问题,PHP 的命名空间对函数支持比较差,所以也到了和 Java 差不多的情况。因此,在 PHP 中将与实例无关的函数定义为一个类的静态方法,也是一种比较常见的设计,在 Laravel 中大量被用到。

1、与实例逻辑无关,与类逻辑有关,就用静态方法,例如factory()

2、基本上可以这么说,用得越多越不面向对象,因为静态类本质上跟纯函数没区别

静态方法是属于类的,与实例无关,一般公用的方法用静态方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏