ホームページ  >  記事  >  バックエンド開発  >  PHP マルチインスタンスモードの概要_PHP チュートリアル

PHP マルチインスタンスモードの概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:03:091171ブラウズ

Java を学習すると、デザイン パターンには複数のインスタンス パターンがあることがわかります:

1. マルチインスタンス クラスは複数のインスタンスを持つことができます。
2. マルチインスタンス クラスは、独自のインスタンスを作成および管理でき、独自のインスタンスを外部に提供できる必要があります。

PHP シングルトン モードについては誰もが知っていますが、PHP マルチケース モードについて語る人はほとんどいません。以下は、Wikipedia で見られる PHP マルチケース モードの例です。

コードをコピー コードは次のとおりです:
abstract class Multiton {
private static $instances = array();
public static function getInstance() {
$key = get_called_class( ) . シリアル化 (func_get_args());
if (!isset(self::$instances[$key])) {
$rc = new ReflectionClass(get_called_class()); $rc- >newInstanceArgs(func_get_args());
}
return self::$instances[$key];
}
}

class Hello extends Multiton {
public function __construct($string = 'World') {
echo " こんにちは $stringn";
}

class GoodBye extends Multiton {
public function __construct($string = 'my', $string2 = 'darling') {
echo "Goodbye $string $string2n"; }
}

$a = Hello::getInstance('World');
$b = Hello::getInstance('bob');
// $a !== $b

$c = Hello:: getInstance(' ワールド');
// $a === $c

$d = GoodBye::getInstance();
$e = GoodBye::getInstance();

$ f = GoodBye::getInstance('your')
// $d !== $f
?>


;
PHP マルチインスタンス モードでは、キー値を渡すために getInstance() が必要であることがわかります。PHP マルチインスタンス モードでは、メモリとメモリが節約されます。同じオブジェクトの複数のインスタンスが競合しないようにします。

http://www.bkjia.com/PHPjc/327868.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327868.html技術記事 Java を勉強すると、設計パターンには複数のインスタンスがあることがわかります。 1. マルチインスタンス クラスは複数のインスタンスを持つことができます。 2. マルチインスタンス クラスは、独自のインスタンスを作成および管理し、提供できる必要があります。外の世界への独自の実装...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。