You are here: Re: accesing to members of objects « PHP Programming Language « IT news, forums, messages
Re: accesing to members of objects

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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация