PHP中引用返回的用法
作者 : admin 于 2008-11-21 10:49:47
2008
11-21
11-21
先看个例子
- function &new_class( $classname )
- {
- static $object = array();
- if(isset( $object[$classname] ))
- {
- return $object[$classname];
- }
- $object[$classname] = & new $classname();
- return $object[$classname];
- }
- class abc
- {
- public $a;
- public $b;
- function abc()
- {
- $this->a = 1;
- $this->b = 2;
- }
- }
- class test
- {
- }
- $a = new test();
- $a->abc = & new_class( 'abc' );
- print_r($a);
很显然,这样做的好处是减少了实例化对象的复制,直接绑定了对象。这样减少了内存的消耗和操作的复杂。但实际上官方又说了这么一句,很是纳闷:
Do not use return-by-reference to increase performance, the engine is smart enough to optimize this on its own.
不要尝试用引用返回提高性能,因为PHP引擎足够聪明,自己会解决。
闷中