diff --git a/functions/classobj.xml b/functions/classobj.xml
index f2eac1df66..5b8c731726 100644
--- a/functions/classobj.xml
+++ b/functions/classobj.xml
@@ -6,86 +6,86 @@
Introduction
- About
-
- These functions allow you to obtain information about classes
- and instance objects. You can obtain the name of the class to
- which a object belongs, as well as its member properties and
- methods. Using these functions, you can find out not only the
- class membership of an object, but also its parentage (i.e.
- what class is the object class extending).
-
-
-
- An example of use
-
- In this example, we first define a base class and an extension
- of the class. The base class describes a general vegetable,
- whether it is edible or not and what is its color. The subclass
- Spinach adds a method to cook it and another to
- find out if it is cooked.
-
-
-
- classes.inc
-
+ About
+
+ These functions allow you to obtain information about classes
+ and instance objects. You can obtain the name of the class to
+ which a object belongs, as well as its member properties and
+ methods. Using these functions, you can find out not only the
+ class membership of an object, but also its parentage (i.e.
+ what class is the object class extending).
+
+
+
+ An example of use
+
+ In this example, we first define a base class and an extension
+ of the class. The base class describes a general vegetable,
+ whether it is edible or not and what is its color. The subclass
+ Spinach adds a method to cook it and another to
+ find out if it is cooked.
+
+
+
+ classes.inc
+
<?php
// base class with member properties and methods
class Vegetable {
- var $edible;
- var $color;
+ var $edible;
+ var $color;
- function Vegetable( $edible, $color="green" ) {
- $this->edible = $edible;
- $this->color = $color;
- }
+ function Vegetable( $edible, $color="green" ) {
+ $this->edible = $edible;
+ $this->color = $color;
+ }
- function is_edible() {
- return $this->edible;
- }
+ function is_edible() {
+ return $this->edible;
+ }
- function what_color() {
- return $this->color;
- }
-
+ function what_color() {
+ return $this->color;
+ }
+
} // end of class Vegetable
// extends the base class
class Spinach extends Vegetable {
- var $cooked = false;
+ var $cooked = false;
- function Spinach() {
- $this->Vegetable( true, "green" );
- }
+ function Spinach() {
+ $this->Vegetable( true, "green" );
+ }
- function cook_it() {
- $this->cooked = true;
- }
+ function cook_it() {
+ $this->cooked = true;
+ }
- function is_cooked() {
- return $this->cooked;
- }
-
+ function is_cooked() {
+ return $this->cooked;
+ }
+
} // end of class Spinach
?>
-
-
-
-
- We then instantiate 2 objects from these classes and print out
- information about them, including their class parentage.
- We also define some utility functions, mainly to have a nice printout
- of the variables.
-
-
-
- test_script.php
-
+
+
+
+
+ We then instantiate 2 objects from these classes and print out
+ information about them, including their class parentage.
+ We also define some utility functions, mainly to have a nice printout
+ of the variables.
+
+
+
+ test_script.php
+
<pre>
<?php
@@ -94,25 +94,25 @@ include "classes.inc";
// utility functions
function print_vars($obj) {
- $arr = get_object_vars($obj);
- while (list($prop, $val) = each($arr))
- echo "\t$prop = $val\n";
+ $arr = get_object_vars($obj);
+ while (list($prop, $val) = each($arr))
+ echo "\t$prop = $val\n";
}
function print_methods($obj) {
- $arr = get_class_methods(get_class($obj));
- foreach ($arr as $method)
- echo "\tfunction $method()\n";
+ $arr = get_class_methods(get_class($obj));
+ foreach ($arr as $method)
+ echo "\tfunction $method()\n";
}
function class_parentage($obj, $class) {
- global $$obj;
- if (is_subclass_of($$obj, $class)) {
- echo "Object $obj belongs to class ".get_class($$obj);
- echo " a subclass of $class\n";
- } else {
- echo "Object $obj does not belong to a subclass of $class\n";
- }
+ global $$obj;
+ if (is_subclass_of($$obj, $class)) {
+ echo "Object $obj belongs to class ".get_class($$obj);
+ echo " a subclass of $class\n";
+ } else {
+ echo "Object $obj does not belong to a subclass of $class\n";
+ }
}
// instantiate 2 objects
@@ -138,27 +138,27 @@ class_parentage("leafy", "Spinach");
class_parentage("leafy", "Vegetable");
?>
</pre>
-
-
-
-
- One important thing to note in the example above is that
- the object $leafy is an instance of the class
- Spinach which is a subclass of
- Vegetable,
- therefore the last part of the script above will output:
-
-
-
-
- [...]
+
+
+
+
+ One important thing to note in the example above is that
+ the object $leafy is an instance of the class
+ Spinach which is a subclass of
+ Vegetable,
+ therefore the last part of the script above will output:
+
+
+
+
+ [...]
Parentage:
Object leafy does not belong to a subclass of Spinach
Object leafy belongs to class spinach a subclass of Vegetable
-
-
-
-
+
+
+
+
@@ -176,13 +176,13 @@ Object leafy belongs to class spinach a subclass of Vegetable
- This function returns the name of the class of which the
- object obj is an instance.
+ This function returns the name of the class of which the
+ object obj is an instance.
-
- See also get_parent_class,
- is_subclass_of
-
+
+ See also get_parent_class,
+ is_subclass_of
+
@@ -200,14 +200,14 @@ Object leafy belongs to class spinach a subclass of Vegetable
- This function returns the name of the parent class to
- the class of which the object obj
- is an instance.
+ This function returns the name of the parent class to
+ the class of which the object obj
+ is an instance.
-
- See also get_class,
- is_subclass_of
-
+
+ See also get_class,
+ is_subclass_of
+
@@ -228,10 +228,10 @@ Object leafy belongs to class spinach a subclass of Vegetable
This function returns an array of method names defined for the
class specified by class_name.
-
- See also get_class_vars,
- get_object_vars
-
+
+ See also get_class_vars,
+ get_object_vars
+
@@ -254,10 +254,10 @@ Object leafy belongs to class spinach a subclass of Vegetable
This function will return an array of default properties of the
class.
-
- See also get_class_methods,
- get_object_vars
-
+
+ See also get_class_methods,
+ get_object_vars
+
@@ -275,13 +275,61 @@ Object leafy belongs to class spinach a subclass of Vegetable
- This function returns an associative array of object properties for the
- specified object obj.
+ This function returns an associative array of defined object properties
+ for the specified object obj. If variables
+ declared in the class of which the obj is an
+ instance, have not been assigned a value, those will not be returned
+ in the array.
+
+ Use of get_object_vars
+
+<?php
+class Point2D {
+ var $x, $y;
+ var $label;
+
+ function Point2D($x, $y) {
+ $this->x = $x;
+ $this->y = $y;
+ }
+
+ function setLabel($label) {
+ $this->label = $label;
+ }
+
+ function getPoint() {
+ return array("x" => $this->x,
+ "y" => $this->y,
+ "label" => $this->label);
+ }
+}
+
+$p1 = new Point2D(1.233, 3.445);
+print_r(get_object_vars($p1));
+// "$label" is declared but not defined
+// Array
+// (
+// [x] => 1.233
+// [y] => 3.445
+// )
+
+$p1->setLabel("point #1");
+print_r(get_object_vars($p1));
+// Array
+// (
+// [x] => 1.233
+// [y] => 3.445
+// [label] => point #1
+// )
+
+?>
+
+
-
- See also get_class_methods,
- get_class_vars
-
+
+ See also get_class_methods,
+ get_class_vars
+
@@ -289,9 +337,9 @@ Object leafy belongs to class spinach a subclass of Vegetable
is_subclass_of
- Determines if an object belongs to a subclass
- of the specified class
-
+ Determines if an object belongs to a subclass
+ of the specified class
+
Description
@@ -304,13 +352,13 @@ Object leafy belongs to class spinach a subclass of Vegetable
This function returns true if the object obj,
- belongs to a class which is a subclass of
- superclass, false otherwise.
+ belongs to a class which is a subclass of
+ superclass, false otherwise.
-
- See also get_class,
- get_parent_class
-
+
+ See also get_class,
+ get_parent_class
+
@@ -372,19 +420,19 @@ Object leafy belongs to class spinach a subclass of Vegetable
This function returns an array of the names of the declared classes
- in the current script.
+ in the current script.
-
-
- In PHP 4.0.1pl2, three extra classes are returned at the beginning of
- the array: stdClass (defined in
- Zend/zend.c),
- OverloadedTestClass (defined in
- ext/standard/basic_functions.c)
- and Directory
- (defined in ext/standard/dir.c).
-
-
+
+
+ In PHP 4.0.1pl2, three extra classes are returned at the beginning of
+ the array: stdClass (defined in
+ Zend/zend.c),
+ OverloadedTestClass (defined in
+ ext/standard/basic_functions.c)
+ and Directory
+ (defined in ext/standard/dir.c).
+
+
@@ -417,27 +465,27 @@ Object leafy belongs to class spinach a subclass of Vegetable
- Calls a the method referred by method_name from
- the user defined obj object. An example of usage
- is below, where we define a class, instantiate an object and use
- call_user_method to call indirectly its
- print_info method.
+ Calls a the method referred by method_name from
+ the user defined obj object. An example of usage
+ is below, where we define a class, instantiate an object and use
+ call_user_method to call indirectly its
+ print_info method.
<?php
class Country {
- var $NAME;
- var $TLD;
-
- function Country($name, $tld) {
- $this->NAME = $name;
- $this->TLD = $tld;
- }
+ var $NAME;
+ var $TLD;
+
+ function Country($name, $tld) {
+ $this->NAME = $name;
+ $this->TLD = $tld;
+ }
- function print_info($prestr="") {
- echo $prestr."Country: ".$this->NAME."\n";
- echo $prestr."Top Level Domain: ".$this->TLD."\n";
- }
+ function print_info($prestr="") {
+ echo $prestr."Country: ".$this->NAME."\n";
+ echo $prestr."Top Level Domain: ".$this->TLD."\n";
+ }
}
$cntry = new Country("Peru","pe");
@@ -451,9 +499,9 @@ call_user_method ("print_info", $cntry, "\t");
-
- See also call_user_func.
-
+
+ See also call_user_func.
+