public function __construct() { $this->options = array(); $class = get_class($this); // We build our options array ourselves, because possibly no class or config manifest exists at this point do { $this->options = array_merge(Object::static_lookup($class, 'default_options'), $this->options); } while ($class = get_parent_class($class)); }
public function testStaticLookup() { $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFoo', 'foo'), 1); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFoo', 'bar'), null); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesBar', 'foo'), null); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesBar', 'bar'), 2); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooAndBar', 'foo'), 3); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooAndBar', 'bar'), 3); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooDoesntExtendObject', 'foo'), 4); $this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooDoesntExtendObject', 'bar'), null); }