Re: [PHP] Print extended/parent classes

2006-02-01 Thread David Grant
Mathijs,

Mathijs wrote:
 I have the following situation :
 
 ?php
 
 class A {
 public $var1;
 }
 
 class B extends A {
 public $var2;
 }
 
 ?
 
 Now I want to print this object
 ?php
 
 $obj = new B;
 print_r($obj);
 
 ?
 
 Does anybody know how I can print class A also ?

The above prints out:

B Object
(
[var2] =
[var1] =
)

Is this not what you expected?  You can't print out *just* the
properties of A.  If this isn't what you want, you shouldn't be extending A.

David
-- 
David Grant
http://www.grant.org.uk/

http://pear.php.net/package/File_Ogg0.2.1
http://pear.php.net/package/File_XSPF   0.1.0

WANTED: Junior PHP Developer in Bristol, UK

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Print extended/parent classes

2006-02-01 Thread Jochem Maas

David Grant wrote:

Mathijs,

Mathijs wrote:


I have the following situation :

?php

class A {
public $var1;
}

class B extends A {
public $var2;
}

?

Now I want to print this object


***object***


?php

$obj = new B;
print_r($obj);

?

Does anybody know how I can print class A also ?


***class***

(class and object are not interchangable concepts - yet
they are closely related :-)

you printed $obj which is an instance of B, which happens to
be a subclass of A. if you are interested to find out which classes
an objects is defined by try something like:

class A {}
class B extends A {}
class C extends B {}
$c = C; $classes = array($c);
while($c = get_parent_class($c))
$classes[] = $c;
print_r($classes);




The above prints out:

B Object
(
[var2] =
[var1] =
)

Is this not what you expected?  You can't print out *just* the
properties of A.  If this isn't what you want, you shouldn't be extending A.

David


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Print extended/parent classes

2006-02-01 Thread David Grant
Jochem,

Good point.  I thought he meant object given his example. :P

David

Jochem Maas wrote:
 David Grant wrote:
 Mathijs,

 Mathijs wrote:

 I have the following situation :

 ?php

 class A {
 public $var1;
 }

 class B extends A {
 public $var2;
 }

 ?

 Now I want to print this object
 
 ***object***
 
 ?php

 $obj = new B;
 print_r($obj);

 ?

 Does anybody know how I can print class A also ?
 
 ***class***
 
 (class and object are not interchangable concepts - yet
 they are closely related :-)
 
 you printed $obj which is an instance of B, which happens to
 be a subclass of A. if you are interested to find out which classes
 an objects is defined by try something like:
 
 class A {}
 class B extends A {}
 class C extends B {}
 $c = C; $classes = array($c);
 while($c = get_parent_class($c))
 $classes[] = $c;
 print_r($classes);
 


 The above prints out:

 B Object
 (
 [var2] =
 [var1] =
 )

 Is this not what you expected?  You can't print out *just* the
 properties of A.  If this isn't what you want, you shouldn't be
 extending A.

 David
 


-- 
David Grant
http://www.grant.org.uk/

http://pear.php.net/package/File_Ogg0.2.1
http://pear.php.net/package/File_XSPF   0.1.0

WANTED: Junior PHP Developer in Bristol, UK

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php