| 
	
 | 
 Posted by Jerry Stuckle on 12/27/07 14:40 
Steve wrote: 
> "Michael Fesser" <netizen@gmx.de> wrote in message  
> news:0hlim3hgb5p7ifm2o13pjm6q4l0q5jhiim@4ax.com... 
>> .oO(Logos) 
>> 
>>> On Dec 13, 3:16 pm, Michael Fesser <neti...@gmx.de> wrote: 
>>> 
>>>> At least when working with objects. But nevertheless 
>>>> 
>>>> $foo = new Test(); 
>>>> $a = $foo; 
>>>> $b = &$foo; 
>>>> 
>>>> are still different things, even in PHP 5. In some particular situations 
>>>> this might become an issue. 
>>> Oooo...errr...ummm...could someone explain how exactly those are 
>>> different when using PHP5, then, please?  If everything is done by 
>>> reference for objects, then to me $a and $b both look like pointers to 
>>> an object. 
>> Don't confuse pointers with references, they are entirely different 
>> things. PHP doesn't know pointers. 
>> 
>> And correctly spoken objects in PHP 5 are _not_ passed by reference (at 
>> least it's not what PHP calls a reference), even if it's still mentioned 
>> that way on many websites. But it's wrong. 
>> 
>> Internally objects are represented by a handle (a simple number), which 
>> is what is moved around when you assign objects to variables, copy them 
>> or pass them to a function. You're never working directly with the 
>> object itself, but with its handle. Of course usually you won't notice 
>> that, because it's handled transparently by PHP. 
>  
> michael, for people who come from a c/c++ background, what you've described  
> is *exactly* a pointer. the only difference in php is that rather than the  
> handle pointing to a memory address where information is stored, this php  
> handle points to a symbol table entry where information is stored. 
> 
 
Wrong again, Stevie.  A C++ pointer is not the same as a C++ reference.  
  And C doesn't have references, just as PHP doesn't have pointers. 
 
> in php, a reference (or byref) behaves *IDENTICALLY* to a c/c++ pointer.  
> there are somethings that you cannot do with this reference in php that you  
> could in other languages, however, the nature of the beast is the same. i  
> know that a reference in php is really just an alias of the symbol table  
> entry, but really that just seems a matter of symantics to me. i don't care  
> where things are stored at such a low level when i'm writing in a scripting  
> language. i care about behaviors. 
>  
 
Wrong again.  They behave much differently. 
 
 
 
--  
================== 
Remove the "x" from my email address 
Jerry Stuckle 
JDS Computer Training Corp. 
jstucklex@attglobal.net 
==================
 
[Back to original message] 
 |