Ben Vikipedi PHP tekiz kullanıyorum. Sorun tekil bir yöntemi vardır olduğunu require once
ve bu komut dosyasını çalıştırın ve sınıf yöntemi uygulamak zaman get_shared_instance
, yeni bir tekiz başlatılır aracılığıyla yükler ve çalıştırır diğer PHP komut. Neden bu? Ve etrafında işi nedir?
(temel bir formda) tekil:
class Controller {
protected static $shared_instance;
public static function get_shared_instance()
{
if (self::$shared_instance === NULL) {
self::$shared_instance = new self();
}
return self::$shared_instance;
}
/// Constructor made private to be used with singleton.
final protected function __construct(){ $this->initiate(); }
/// Do not allow the clone operation: $x = clone $v;
final protected function __clone() { }
diğer dosyaları yükler Singleton'ın yöntemi
private function settings_by_domain()
{
$current_domain = $_SERVER['HTTP_HOST'];
$path = pathinfo(__FILE__, $options = PATHINFO_DIRNAME);
$settings_file = $path.'/'.$current_domain.'.php';
if (is_file($settings_file))
{
$this->settings_file = $settings_file;
return TRUE;
}
else
{
return FALSE;
}
}
Gerekli dosya içerir:
$c = self::get_shared_instance();
ki, ne yazık ki, çalışma yeni bir örneğini oluşturur alıyorsunuz?
Many thanks Ross