diff options
author | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2011-03-10 23:14:50 +0000 |
---|---|---|
committer | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2011-03-10 23:14:50 +0000 |
commit | 634884044dd95345962db9e54764f37f6ba84853 (patch) | |
tree | e16f69cd22e0ac4a1759987e2f66566b4f9a08eb /library/SSRS/Object/Abstract.php | |
download | php-ssrs-634884044dd95345962db9e54764f37f6ba84853.zip php-ssrs-634884044dd95345962db9e54764f37f6ba84853.tar.gz php-ssrs-634884044dd95345962db9e54764f37f6ba84853.tar.bz2 |
v0.1 committed
Diffstat (limited to 'library/SSRS/Object/Abstract.php')
-rwxr-xr-x | library/SSRS/Object/Abstract.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/library/SSRS/Object/Abstract.php b/library/SSRS/Object/Abstract.php new file mode 100755 index 0000000..40482a0 --- /dev/null +++ b/library/SSRS/Object/Abstract.php @@ -0,0 +1,48 @@ +<?php + +/** + * SSRS_Object_Abstract + * + * @author arron + */ +class SSRS_Object_Abstract { + + public $data = array(); + + public function __construct($data = null) { + $this->init(); + $this->setData($data); + } + + public function init() { + + } + + public function setData($data) { + if ($data instanceof stdClass) { + $data = get_object_vars($data); + } + + if (is_array($data)) { + foreach ($data AS $key => $value) { + $this->$key = $value; + } + } + + return $this; + } + + public function __set($key, $value) { + $methodName = 'set' . ucfirst($key); + if (method_exists($this, $methodName)) { + $this->$methodName($value); + } else { + $this->data[$key] = $value; + } + } + + public function __get($key) { + return isset($this->data[$key]) ? $this->data[$key] : null; + } + +}
\ No newline at end of file |