私はすでに Yii フレームワークを勉強しています。マニュアルに従って、「protected/componets」フォルダーの下に独自のクラス「Util」を配置しました。オブジェクトを取得するには、モデル ファイルで「new Util()」を使用する必要があります。同じことを行う別の方法はありますか? 毎回新しくする必要がないように、「getComponent()」として記述されたメソッドのように。手伝ってくれてありがとう。
1 に答える
0
プロジェクトUtil
でいつでもクラスのインスタンスを 1 つだけ使用できるようにする必要がある場合は、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 クラスのインスタンスを 1 つ取得するだけです。次に、次のようなものが$util->foo('World');
うまく機能します。
于 2012-09-14T03:28:51.097 に答える