|
Posted by gosha bine on 06/03/07 10:42
howa wrote:
> On 6 3 , 6 42 , gosha bine <stereof...@gmail.com> wrote:
>> howa wrote:
>> $foo = new Foo
>>
>> does the following in php4:
>>
>> 1) a chunk of memory is allocated and object's constructor is called to
>> initialize this memory
>> 2) another chunk of memory is allocated and everything from the first
>> chunk is copied to it
>> 3) variable 'foo' is being set to address of this second chunk
>> 4) the first chunk is being disposed.
>>
>> Apart from being ineffective, this technique will apparently fail if an
>> object saves reference to itself ($this) in constructor or when you need
>> exactly one instance.
>>
>>
>
> Hello,
>
> Yes, but refer to my original question, both (1) & (2) have this
> problem of inefficieny.
>
> So you said (2) is perfferred?
>
> Why? Since PHP said return by reference is mostly useless.
function getFoo()...
$foo = Foo::getFoo();
involves copying as I said above
function &getFoo()..
$foo =& Foo::getFoo();
does not involve copying, only one memory block is created
--
gosha bine
extended php parser ~ http://code.google.com/p/pihipi
blok ~ http://www.tagarga.com/blok
Navigation:
[Reply to this message]
|