序言: 讨论在PHP中默认将类声明为
final
是否是一个好习惯。就我个人而言,我倾向于信任开发团队并仅在边缘情况下使用final
,例如当我们决定使用单例模式时,继承会破坏一切。
但是,在某些语言中,
final
关键字提供了一些性能优势,因为后期绑定可以在编译时排除,并且代码可以通过立即寻址进行翻译。
class SomeClass
{
public function someMethod() {}
}
// vs.
class SomeOtherClass
{
public final function someFinalMethod() {}
}
// vs.
final class SomeFinalClass
{
public function someMethod() {}
}
即使它可能是微优化:
PHP
final
关键字在 Zend/PHP 引擎内部如何工作?它实际上会以某种方式影响性能吗?