<?php
class Site
{
//属性
public $siteName;
//本类的的静态实例
protected static $ins = null;
private function __construct($siteName){
$this->siteName = $siteName;
}
public static function getInstance($siteName = '筋斗云网络'){
//判断静态属性是不是当前的实例 不是 去创建自身实例
if(!self::$ins instanceof self){
self::$ins = new self($siteName);
}
//已经是本例实例 return
return self::$ins;
}
}
//用工厂模式来创建本类的单一实例
class Factory
{
public static function create(){
return Site::getInstance('www.php.cn.com');
}
}
/**
* Class Register
* 1. 注册:set(),把对象挂到树上
* 2. 获取:get(),把对象取下来用
* 3. 注销:_unset(),把对象吃掉
*/
class Register
{
//创建对象池 数组
protected static $objects = [];
//生成对象并上树 放到数组里面
public static function set($alias,$object){
self::$objects[$alias] = $object;
}
//获取对象
public static function get($alias){
return self::$objects[$alias];
}
//注销:_unset(),把对象吃掉!【销毁对象】
public static function _unset($alias){
unset(self::$objects[$alias]);
}
}
Register::set('site',Factory::create());//site对象 hello也可以 名字自己定
$site = Register::get('site');
var_dump($site->siteName);

我的微信
这是我的微信扫一扫
2020年3月14日 下午1:23 1F
提供拼多多发空包 京东单号有底单、内网www.88danhw.com