PHP设计模式的单模式示例
复制代码代码如下所示:
< PHP
类easyframework_easy_mysql {
保护静态_instance美元= null;
私有函数__construct(){
}
公共静态函数getInstance(){
如果(自::_instance美元= null){
自::_instance美元=新的自我();
}
回归自我::_instance美元;
}
保护功能__clone(){
}
}
X元= easyframework_easy_mysql::getInstance();
var_dump(X元);
>
*
* 1。第一步:
*因为它是一个示例,所以只能实例化一次,并实例化该代表。
*使用新关键字是不可能的!!!!
*当使用新关键字时,类中的构造函数将自动调用。
*但是,如果我们将构造函数的访问控制设置为受保护的或私有的
*直接使用新关键字是不可能的!!!
*第二步:
*不管受保护的/私有修饰符的属性或方法,在当前类中进行询问
*在内部可以访问吗我可以
*第三步:
*现在我们根本无法得到对象(因为不能使用新关键字)。
*第四步:静态成员,包括属性或方法,只有在访问它们时才能访问它们。
*类名::属性()
*类名::方法()
*第五步:如果我有一个静态方法getInstance(现在)-->
*那应该是在通话时写的。
* $对象= easyframework_easy_mysql::getInstance()
*如果getInstance()方法可以得到唯一的对象
*代表也就是所谓的单一模式!!!
*第六步,如何getinstace()只有一个对象吗
*因为我们必须得到对象,它必须是:
*($变量= new);
*我们也知道静态属性的值是由所有对象继承的!!!
*静态成员属于类,而不是对象!
*所以:
*第七步:声明一个静态属性,用它存储实例化对象
*保护静态_instance美元
*
*初始值为空。
所以,当我调用getInstance()方法,我只需要判断是否为空值。
*
*公共静态函数getInstance(){
*如果(自::_instance = null){
*自我::_instance =新的自我();
* }
*回归自我::_instance;
* }
*举例来说,必须用这种方式写:
* X元= easyframework_easy_mysql::getInstance();
*当在第一时间,在类的静态属性为空_instance美元,
*然后getInstance()方法是真的表示,
*这意味着
*自我::_instance美元这件具有价值!!!
*并返回此值
* $ Y = easyframework_easy_mysql::getInstance();
*当二或N的电话称,自::_instance美元有价值
*代表getInstance()方法的条件是错误的!!!
*也代表方案代表不能执行!!!
*代表也将直接返回到以前的值!!!
*
*
*
**