|  | 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] |