From aed5a35ed9fa851c96b6e18485188f49de127f1c Mon Sep 17 00:00:00 2001 From: ewinslow Date: Sun, 31 Oct 2010 01:00:01 +0000 Subject: Refs #2597: Pulled __set, __get, __isset magic functions definitions into ElggData git-svn-id: http://code.elgg.org/elgg/trunk@7163 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/classes/ElggAnnotation.php | 23 --------------------- engine/classes/ElggData.php | 41 +++++++++++++++++++++++++++++++++++++ engine/classes/ElggEntity.php | 36 -------------------------------- engine/classes/ElggMetadata.php | 23 --------------------- engine/classes/ElggRelationship.php | 4 ++-- 5 files changed, 43 insertions(+), 84 deletions(-) (limited to 'engine') diff --git a/engine/classes/ElggAnnotation.php b/engine/classes/ElggAnnotation.php index d99f5fc9a..da43aea23 100644 --- a/engine/classes/ElggAnnotation.php +++ b/engine/classes/ElggAnnotation.php @@ -45,29 +45,6 @@ class ElggAnnotation extends ElggExtender { } } - /** - * Class member get overloading - * - * @param string $name The name of the value to get - * - * @return mixed - */ - function __get($name) { - return $this->get($name); - } - - /** - * Class member set overloading - * - * @param string $name The name of the value to set - * @param mixed $value The value to set - * - * @return mixed - */ - function __set($name, $value) { - return $this->set($name, $value); - } - /** * Save this instance * diff --git a/engine/classes/ElggData.php b/engine/classes/ElggData.php index 97c33bbb5..7ab169c97 100644 --- a/engine/classes/ElggData.php +++ b/engine/classes/ElggData.php @@ -32,6 +32,47 @@ abstract class ElggData implements $this->attributes['time_created'] = ''; } + + /** + * Return an attribute or a piece of metadata. + * + * @param string $name Name + * + * @return mixed + */ + public function __get($name) { + return $this->get($name); + } + + /** + * Set an attribute or a piece of metadata. + * + * @param string $name Name + * @param mixed $value Value + * + * @return mixed + */ + public function __set($name, $value) { + return $this->set($name, $value); + } + + /** + * Test if property is set either as an attribute or metadata. + * + * @tip Use isset($entity->property) + * + * @param string $name The name of the attribute or metadata. + * + * @return bool + */ + function __isset($name) { + return $this->$name !== NULL; + } + + abstract protected function get($name); + + abstract protected function set($name, $value); + /** * Get a URL for this object * diff --git a/engine/classes/ElggEntity.php b/engine/classes/ElggEntity.php index 7532bd9dd..2128a35e9 100644 --- a/engine/classes/ElggEntity.php +++ b/engine/classes/ElggEntity.php @@ -260,42 +260,6 @@ abstract class ElggEntity extends ElggData implements return null; } - /** - * Return an attribute or a piece of metadata. - * - * @param string $name Name - * - * @return mixed - */ - function __get($name) { - return $this->get($name); - } - - /** - * Set an attribute or a piece of metadata. - * - * @param string $name Name - * @param mixed $value Value - * - * @return mixed - */ - function __set($name, $value) { - return $this->set($name, $value); - } - - /** - * Test if property is set either as an attribute or metadata. - * - * @tip Use isset($entity->property) - * - * @param string $name The name of the attribute or metadata. - * - * @return bool - */ - function __isset($name) { - return $this->$name !== NULL; - } - /** * Unset a property from metadata or attribute. * diff --git a/engine/classes/ElggMetadata.php b/engine/classes/ElggMetadata.php index 24365d4d9..90cbba5bd 100644 --- a/engine/classes/ElggMetadata.php +++ b/engine/classes/ElggMetadata.php @@ -42,29 +42,6 @@ class ElggMetadata extends ElggExtender { } } - /** - * Class member get overloading - * - * @param string $name Name - * - * @return mixed - */ - function __get($name) { - return $this->get($name); - } - - /** - * Class member set overloading - * - * @param string $name Name - * @param mixed $value Value - * - * @return mixed - */ - function __set($name, $value) { - return $this->set($name, $value); - } - /** * Determines whether or not the user can edit this piece of metadata * diff --git a/engine/classes/ElggRelationship.php b/engine/classes/ElggRelationship.php index 376150f9f..413527df3 100644 --- a/engine/classes/ElggRelationship.php +++ b/engine/classes/ElggRelationship.php @@ -40,7 +40,7 @@ class ElggRelationship extends ElggData implements * * @return mixed */ - function __get($name) { + function get($name) { if (isset($this->attributes[$name])) { return $this->attributes[$name]; } @@ -56,7 +56,7 @@ class ElggRelationship extends ElggData implements * * @return mixed */ - function __set($name, $value) { + function set($name, $value) { $this->attributes[$name] = $value; return true; } -- cgit v1.2.3