PHP中引用返回的用法

作者 : admin 于 2008-11-21 10:49:47
2008
11-21

先看个例子

  1. function &new_class( $classname )
  2. {
  3.         static $object = array();
  4.         if(isset( $object[$classname] ))
  5.         {
  6.                 return $object[$classname];
  7.         }
  8.         $object[$classname] = & new $classname();
  9.         return $object[$classname];
  10. }
  11. class abc
  12. {
  13. public $a;
  14. public $b;
  15. function abc()
  16. {
  17. $this->a = 1;
  18. $this->b = 2;
  19. }
  20. }
  21. class test
  22. {
  23. }
  24.  
  25. $a = new test();
  26. $a->abc = & new_class( 'abc' );
  27. print_r($a);

很显然,这样做的好处是减少了实例化对象的复制,直接绑定了对象。这样减少了内存的消耗和操作的复杂。但实际上官方又说了这么一句,很是纳闷:
Do not use return-by-reference to increase performance, the engine is smart enough to optimize this on its own.
不要尝试用引用返回提高性能,因为PHP引擎足够聪明,自己会解决。
闷中

发表评论




XHTML:你可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(若看不到验证码,请重新加载页面。)