作者:zevbin_187 | 来源:互联网 | 2013-09-13 09:10
魔术方法:
默认不存在,但是如果用户定义了相关的方法,则在相应的情况发生时 会自动执行的方法,称之为魔术方法。通常 魔术方法都是以 __开头。
例如 __construct() __destruct();
__toString();
当我们将一个对象当作字符串处理的时候会自动地调用__toString() 的方法。
通常都会返回对象的主要标志,作为输出结果:
__clone();
目前 只能通过new的方法获得新的对象,对象间的赋值 是引用传递。
但是 可以采用克隆技术 不通过实例化的形式获得对象,而是通过对已有对象的克隆来实现。
克隆执行构造方法么?不走构造方法。
Php中获得对象的方法有几种?2种 实例化 和 克隆。
克隆虽然不走 构造方法, 但是 如果存在__clone()这个魔术方法的话,会调用这个魔术方法。
__clone()这个方法的作用:通常克隆会产生一个一模一样的对象,但是在有时,可能需要对新对象的某些属性加以初始化。
__clone方法是o1(旧对象) 调用的还是 o2(新对象)调用的?新对象调用的。
如果阻止对象被克隆?
将 __clone方法私有化。
如果将 构造方法 与 __clone 方法都私有化了,结果会如何呢?
就不能在类外得到对象了。