I have some classes that extend each other, each time adding more properties.
Now I need to get a list of all properties of a class, but in the order that they were declared, with the properties of the parent class first.
For example :
class foo {
public $a = 1;
public $c = 2;
public $d = 3;
}
class foo2 extends foo {
public $b = 4;
}
$test = new foo2;
var_dump(get_object_vars($test));
This gives :
array(4) { ["b"]=> int(4) ["a"]=> int(1) ["c"]=> int(2) ["d"]=> int(3) }
but I want :
array(4) { ["a"]=> int(1) ["c"]=> int(2) ["d"]=> int(3) ["b"]=> int(4) }
Is there any way this could be achieved?
UPDATE: The reason I need this, is because I'm converting a file that uses the STEP (EXPRESS ISO 10303-21) format (and back!). (See this for more information : http://en.wikipedia.org/wiki/ISO_10303-21) This format is some kind of serialized objects structure. I recreated all object classes in PHP, but since in STEP the order of the properties is crucial, I need the exact same order of the properties.