PHP/Design Patterns/Singleton Pattern — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 10:03, 26 мая 2010
Singleton Pattern Demo
<source lang="html4strict">
<?php
class Configuration { static private $instance = NULL; private $settingsArray; private function __construct(){ } public function __destruct() { if(!$this->updated) { return; } foreach ($this->settingsArray as $key => $value) { echo("$key = \"$value\"\n"); } } public function getInstance() { if(self::$instance == NULL) { self::$instance = new Configuration(); } return self::$instance; } public function get($name) { if(isset($this->settingsArray[$name])) { return $this->settingsArray[$name]; } else { return(NULL); } } public function set($name, $value) { if(!isset($this->settingsArray[$name]) OR ($this->settingsArray[$name] != $value)) { $this->settingsArray[$name] = $value; $this->updated = TRUE; } } } $config = Configuration::getInstance(); $config->set("username", "A"); $config->set("password", "B"); print($config->get("username"));
?>
</source>
The Singleton Pattern
<source lang="html4strict">
<?php class Preferences {
private $props = array(); private function __construct() { } public function setProperty( $key, $val ) { $this->props[$key] = $val; } public function getProperty( $key ) { return $this->props[$key]; }
} ?>
</source>