0

我现在已经在研究 Yii 框架了。按照手册,我将自己的类“Util”放在“protected/componets”文件夹下。而且我必须在我的模型文件中使用'new Util()'来获取对象,还有其他方法可以做同样的事情吗?就像一些写成“getComponent()”的方法,这样我就不必每次都更新它。感谢帮助。

4

1 回答 1

0

Util如果您的项目需要在任何时候都可以使用该类的一个实例,那么您正在为Singleton 编程模式描述一个很好的用例。对于您在 PHP 中的使用,您可以执行以下操作:

<?php
class Util {
  private var $instance = false;
  private function __construct() {
    echo "No one can call 'new' but me!";
  }

  static function getInstance() {
    if ($this->instance == false) {
      // Create the first and only instance of this class
      $this->instance = new Util();
    }
    return $this->instance;
  }

  public function foo($bar) {
    echo "Hello $bar!";
  }
}
?>

这就是类定义。要使用,只需使用$util = Util::getInstance();获取 Util 类的一个实例。然后类似的东西$util->foo('World');就可以了。

于 2012-09-14T03:28:51.097 回答