【问题标题】:PHP Performance: Avoid often method callingPHP 性能:避免经常调用方法
【发布时间】:2020-02-03 13:12:41
【问题描述】:

我有一个关于 PHP 性能的问题。 在一个实例中,我经常使用我的类方法。例如,我有计算生产班次开始时间的方法。计算只能使用一次,因为所有计算的开始时间相同。

分析工具:xdebug(这个函数调用最多,耗时最长)

执行脚本的最佳方式是什么?我不想制作很多静态(大约 20 个)变量。或者最好的方法是在这种情况下使用静态函数?

现在对于我经常调用的函数:

class test{
   private $data;

        public function __construct () {
         $this->data=0;
        }

        public function foo() {
          if($this->data === 0) {
          // some code

           $this->data=$result;
          }
        return $this->data;
        }
}

我认为这不是解决我的问题的好方法。 感谢您的宝贵时间。

【问题讨论】:

  • “我认为这不是好方法”....因为?您的具体问题是什么?
  • 我没有得到问题本身:(

标签: php performance class


【解决方案1】:

使用 setter 函数设置对象属性是正确的方法。我要做的唯一区别是从 foo() 函数中删除返回值,并在需要时直接访问该属性。

 public function foo() {

    // some code

     $this->data=$result;
  }

现在调用 foo() 一次后,每次都可以使用 $this->data 来访问结果,而无需再次调用该函数并进行不必要的计算。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    相关资源
    最近更新 更多