如何在整个应用程序中使用PHP类而不会影响很多开销性能

时间:2016-12-13 13:37:16

标签: php

所以,我有这个课程在我的应用程序中反复使用。这只是一个例子,而不是实际需要做的事情:

档案A:

class Names {

  public function first() {
    echo 'Bob';
  }

}

使用spl_autoload_register将该文件自动加载到我的应用中,并在其他页面/类中使用所有文件:

档案B:

class LastNames {

  public function __construct() {
    $this->first = new Names();
  }

  public function last() {
    echo $this->first->first().' Smith';
  }

}

$names = new LastNames();

echo $names->last(); // Bob Smith

我有很多文件在构造函数中实例化类Names

  • 这是否会对性能造成很大影响?
  • 我应该使用static function代替public function吗?
  • 是否有更好的方法在不同的类中反复重用Names内的函数?

1 个答案:

答案 0 :(得分:0)

你有几个选择,使用静态功能就是其中之一:

class LastNames {   
    public static function foo(){
        // do stuff
    }
}

或者您可以使用单身人士:

class LastNames {
   private static $instance = null;

   private function __construct(){
      // do stuff
   }

   public function foo(){
      // do stuff
   }

   public static function getInstance(){

      if ( !self::$instance ){
          self::$instance = new LastNames();
      }

      return self::$instance;

   }

}

然后你可以用:

来调用它
$lastnames = LastNames::getInstance();
$lastnames->foo();