summaryrefslogtreecommitdiff
path: root/include/classbase.h
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-10 12:26:04 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-10 12:26:04 +0100
commit4872cc627642044f46ba8a8726902592a1fae05f (patch)
treea416aff6d3511b17923001a664ece1deca01b4d7 /include/classbase.h
parentd2e10c764d1b8860dd798eda3055fc957ff556ad (diff)
first setup for magic methods __get(), __set(), __isset() and __unset()
Diffstat (limited to 'include/classbase.h')
-rw-r--r--include/classbase.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/classbase.h b/include/classbase.h
index 1be2538..492bb15 100644
--- a/include/classbase.h
+++ b/include/classbase.h
@@ -298,6 +298,40 @@ private:
static struct _zend_object_iterator *getIterator(struct _zend_class_entry *entry, struct _zval_struct *object, int by_ref);
/**
+ * Function that is called when a property is being read
+ * @param object The object on which it is called
+ * @param offset The name of the property
+ * @param type The type of the variable???
+ * @return zval
+ */
+ static struct _zval_struct *readProperty(struct _zval_struct *object, struct _zval_struct *name, int type);
+
+ /**
+ * Function that is called when a property is set / updated
+ * @param object The object on which it is called
+ * @param name The name of the property
+ * @param value The new value
+ * @return zval
+ */
+ static void writeProperty(struct _zval_struct *object, struct _zval_struct *name, struct _zval_struct *value);
+
+ /**
+ * Function that is called to check whether a certain property is set
+ * @param object The object on which it is called
+ * @param name The name of the property to check
+ * @param has_set_exists See above
+ * @return bool
+ */
+ static int hasProperty(struct _zval_struct *object, struct _zval_struct *name, int has_set_exists);
+
+ /**
+ * Function that is called when a property is removed from the project
+ * @param object The object on which it is called
+ * @param member The member to remove
+ */
+ static void unsetProperty(struct _zval_struct *object, struct _zval_struct *member);
+
+ /**
* Name of the class
* @var string
*/