相关疑难解决方法(0)

新的自我与新的静态

我正在转换PHP 5.3库以在PHP 5.2上工作.支持我的主要方法是使用后期静态绑定return new static($options);,如果我将其转换为return new self($options)将得到相同的结果?

new self和之间有什么区别new static

php static late-static-binding

483
推荐指数
3
解决办法
19万
查看次数

新静电是什么意思?

我在一些框架中看到了这行代码:

return new static($view, $data);
Run Code Online (Sandbox Code Playgroud)

你怎么理解的new static

php

61
推荐指数
1
解决办法
3万
查看次数

我应该使用新的自我还是新的静态?

我从事一个专有项目,该项目使用了很多种形式的工厂.他们中的大多数不通过名称实例化类,幸运的是,但是否new self()还是new static()用于实例取决于开发商变化.

我知道不同之处,但我很好奇是否有一些共识,即当技术上不需要后期静态绑定时哪一个是"正确"的方法.例如,new static()经常在服务类中找到几乎肯定永远不会被子类化的服务类.它在抽象类中显然很重要,但我的偏好是使用new self()我不期望子类的地方.

解决技术差异的问题:

我很好奇:

  • 使用后期静态绑定是否会影响性能?
  • 采用一种做法是否会对代码维护产生影响?例如.如果我使用类子类new self(),我必须覆盖/更改所有这些情况,但如果我的构造函数更改,这可能不是一件坏事.
  • 有没有记录在案的最佳做法?我们使用PSR-2,至少是有抱负的,但我不认为它涵盖了这一点.

php late-static-binding psr-2

5
推荐指数
1
解决办法
1038
查看次数

标签 统计

php ×3

late-static-binding ×2

psr-2 ×1

static ×1