$ classInstance-> title比$ classInstance-> getTitle()快 - 那么为什么大多数人使用较慢的方法?

3 php oop performance scalability

我最近一直在阅读有关如何在PHP中优化代码以实现可伸缩性的文章.我今天读过的一些文章不鼓励使用其他方法简单地从类中返回对象.

基本上,他们说:

如果您有这样的课程:

class myClass
{

public $something;

public function setSomething($val)
{

$this->something=$val;

}//function end

}//class end

$myClassInstance=new myClass;
Run Code Online (Sandbox Code Playgroud)

而你想获得类属性$something,你应该这样做:

//echo $something from myClass
echo $myClassInstance->something;
Run Code Online (Sandbox Code Playgroud)

而不是这个:

//echo $something from myClass using an additional method (getSomething()) that returns the property
echo $myClassInstance->getSomething();
Run Code Online (Sandbox Code Playgroud)

因为有速度差异.气馁的方法比较慢($myClassInstance->getSomething()),这就是不鼓励的原因.

但是,我看到很多人仍在使用劝阻方法(教程,代码示例等).我可以理解他们是否因为某种原因必须将属性设置为私有,但通常情况并非如此.

所以我的问题是,使用沮丧的方法有什么好处或我缺少的东西?如果是这样,什么?

kar*_*ark 5

有人使用gettersetter方法的原因是由于encapsulation.直接访问$something会使它都readablewriteable,但是通过访问它getSomething()会而不是仅仅给调用者的副本(即不会改变原来的值).