我最近一直在阅读有关如何在 PHP 中优化代码以实现可伸缩性的文章。我今天阅读的几篇文章都不鼓励使用其他方法来简单地从类返回对象。
所以基本上,他们说:
如果你有这样的类:
class myClass
{
public $something;
public function setSomething($val)
{
$this->something=$val;
}//function end
}//class end
$myClassInstance=new myClass;
而你想获得类属性$something
,你应该这样做:
//echo $something from myClass
echo $myClassInstance->something;
不是这个:
//echo $something from myClass using an additional method (getSomething()) that returns the property
echo $myClassInstance->getSomething();
因为有速度差异。不鼓励的方法较慢 ($myClassInstance->getSomething()
),这就是不鼓励使用它的原因。
但是,我看到很多人仍在使用不鼓励的方法(教程、代码示例等)。如果他们出于某种原因必须将属性设置为私有(private),我可以理解,但通常情况并非如此。
所以我的问题是,使用不鼓励的方法是否有好处或我缺少什么?如果是,是什么?
最佳答案
有人之所以使用getter
和setter
方法,是因为封装
。直接访问 $something
会使其既可读
又可写
,但是通过 getSomething()
访问它只会给调用者一个副本(即不会改变原始值)。
关于php - $classInstance->title 比 $classInstance->getTitle() 快 - 为什么大多数人使用较慢的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11415806/