Assigning the return value of new by reference is deprecated in xxxx的解决办法

  • 四月 20th, 2010

自从php5.3,越来越多的人会遇到“Assigning the return value of new by reference is deprecated in xxxx”这样的提示,尤其是在国外产品中(例如wordpress、joolma),很多人的解决办法很简单:把php版本换回就版本就ok了。毫无疑问这是个好办法,对这种遇到问题不求甚解的态度可能会让人看到些什么。我认为要换回php的旧版本,其实是对php技术爱好者的一种羞辱(用词不当,大致是这个意思)。解决办法:php5.3开始后,废除了php中的”=&”符号,所以要想复制,直接用=引用即可。详细如下:

1、PHP5对象复制是采用引用的方式;
2、如果不采用引用方式,则需要在复制对象时加关键字 clone;
3、如果在复制的过程中,同时要变更某些属性,则增加函数_clone();

  1. MarkSpizer说:2010-05-03 上午 7:52

    great post as usual!

  2. ylxeluxi说:2010-05-21 上午 8:07

    有用,谢谢分享!

  3. Vilic说:2010-06-13 上午 9:42

    谢谢!帮顶下!

  4. phpdev.er说:2010-07-08 下午 10:04

    换php版本是不得已的办法,如果是服务器商和开发商那就郁闷了,那解决的办法就是 加一个版本判断,你说是不是呢? 同时程序是不是又有一定的移植性呢?

  5. yixun说:2010-08-17 上午 10:23

    thanks

  6. 匿名说:2011-08-02 下午 3:17

    我今天看到了,谢谢。

给我回复

为了防止垃圾评论,请输入答案:8+2=