单例模式:
class SingleIns
{
public static $_instance;
private function __construct(){}
private function __clone(){}
public static function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance = new self();
}
return self::$_instance;
}
public function demo(){
echo 'demo';
}
}
define('DIR', dirname(__FILE__));
include DIR.'/autoload/Loader.php';
spl_autoload_register('\\autoload\\Loader::autoload');
$demo = \SingleIns::getInstance();
$demo->demo();
工厂模式:
interface IFactory
{
public function show();
}
class ProA implements \IFactory
{
public function __construct()
{}
public function show()
{
echo "ProA";
}
}
class ProB implements \IFactory
{
public function __construct()
{}
public function show()
{
echo "ProB";
}
}
define('DIR', dirname(__FILE__));
include DIR.'/autoload/Loader.php';
spl_autoload_register('\\autoload\\Loader::autoload');
$proA = \FactoryIns::getPro('A');
$proA->show();
$proB = \FactoryIns::getPro('B');
$proB->show();