|
Posted by Jerry Stuckle on 01/20/06 07:05
julian_m wrote:
> Jerry Stuckle wrote:
>
>>julian_m wrote:
>>
>>>A short piece of code which i'm having problems with:
>>>
>>>class ClsX{
>>>
>>>var $F_name;
>>>var $F_array_of_obj= array();
>>>
>>>function ClsX(&$obj, $name){
>>> //Here I add an object reference to an array. Note that all objects
>>>inside $F_array_of_obj will be of X class or null values
>>> $this->F_array_of_obj[] = $obj;
>>> $this->F_name = $name;
>>> $this->ListParents();
>>>}
>>>
>>>
>>>function ListParents(){
>>> foreach ($this->F_array_of_obj as $obj) {
>>> echo "Te name of the parent is: ". $obj->F_name;
>>> }
>>>}
>>>}//class
>>>
>>>
>>>$clsX1 = new ClsX("","name1");
>>>
>>>$clsX2= new ClsX($clsX1, "name2");
>>>
>>>I thought that this code would output
>>>
>>>"the name of the parent is name1"
>>>
>>>but it actually prints
>>>
>>>""the name of the parent is"
>>>
>>>so the problem is that I can't acces to de object's data inside the
>>>array.
>>>Any hints?
>>>
>>>regards - jm
>>>
>>
>>
>>Do you have error reporting enabled? Which version of PHP?
>>
>>On 5.0.3 I get:
>>
>>Fatal error: Cannot pass parameter 1 by reference in H:\temp\test.php on
>>line 25
>>
>>This is referencing the line:
>>
>> $clsX1 = new ClsX("","name1")
>>
>>Which is valid - "" isn't a variable, so you can't reference it.
>>
>
>
>
>
> Well, actually I've solved the problem that I had
>
> for ($i = 1; $i <= count($this->F_array_of_obj); $i++) {
> $object = $this->F_array_of_obj[($i-1)];
> $object->WhatEverObjectFunction();
> }
>
> Note that I come from a Delphi background, where all object call should
> be preceded by a typecast. I mean:
> TYPEOFOBJ($object)->WhatEverObjectFunction();
> In this way, I'm saying "i'm sure that $object has a function named
> WhatEverObjectFunction()"
>
> BTW, What happens if $object doesn't has WhatEverObjectFunction()?
>
> regards - jm
>
You get a run-time error and processing of the php stops.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|