classTest{protected$client;受保护的静态$名称;公共函数__construct(){self::$name='test';}公共函数__destruct(){self::$name=null;(){返回自我::$名称;}}$a=newTest();$a=(newTest());echo$a->get();执行上面代码后的输出:此时你会发现输出为空,但是没有输出test。修改代码查看整个过程。类测试{受保护的$client;受保护的静态$名称;公共函数__construct(){self::$name='test';echo"执行构造函数!\n";}公共函数__destruct(){self::$name=null;echo"执行析构函数!\n";}publicfunctionget(){returnself::$name;}}$a=newTest();echo"第一个new完成!\n";$a=(newTest());echo"第二个new完成!\n";echo$a->get();执行输出:执行构造函数!第一个新的完成了!执行构造函数!执行分析构造函数!第二个新完成!执行析构函数!终于抓到你了..当一个新创建的类被赋值给同一个变量时,应该先创建还是先销毁?就是先创建一个新对象,然后销毁旧对象。这导致首先执行构造函数,然后执行析构函数。在这个过程中,切记不要去操作对象中的静态属性,否则静态属性会丢失。首次发布
