Tek Nesne Arayüz Sınıfı

index.php

<?php
header('Content-Type: text/html; charset=utf-8');
require("Autoload.php");
class test implements Singleton_Interface{
	public static function getInstance(){
		return new static;
	}
}
class test2{
	public static function getInstance(){
		return new static;
	}
}
$b=new test;
if ($b instanceof Singleton_Interface) {
	echo get_class(test::getInstance());
}

Autoload.php

<?php
if(!function_exists('__autoload')){
	function __autoload($sinifAdi){
		if(class_exists('Zend',false)){
			if(is_int(strrpos($sinifAdi,'_Interface'))){
				Zend::loadClass($sinifAdi);
			}else{
				Zend::loadInterface($sinifAdi);
			}
		}else{
			if(!defined('__CLASS_PATH__')){
				define('__CLASS_PATH__',realpath(dirname(__FILE__)));
			}
			$dosya=__CLASS_PATH__ . '/'.str_replace('_','/',$sinifAdi).'.php';
			if(!file_exists($dosya)){
				throw new Exception('Sınıf Dosyası Yüklenemiyor '.$sinifAdi);
			}else{
				require_once $dosya;
			}
		}
	}
}

Singleton/Interface.php

<?php
if (!interface_exists('Singleton_Interface')) {
  interface Singleton_Interface{
    public static function getInstance();
  }
}

Çıktısı

test

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.