summaryrefslogtreecommitdiff
path: root/include/class.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/class.h')
-rw-r--r--include/class.h44
1 files changed, 12 insertions, 32 deletions
diff --git a/include/class.h b/include/class.h
index 3326507..ab4a3e0 100644
--- a/include/class.h
+++ b/include/class.h
@@ -18,8 +18,11 @@
/**
* Zend/SPL interfaces that we support
*/
-extern struct _zend_class_entry *spl_ce_Countable;
-extern struct _zend_class_entry *spl_ce_ArrayAccess;
+//extern struct _zend_class_entry *zend_ce_traversable;
+//extern struct _zend_class_entry *zend_ce_aggregate;
+//extern struct _zend_class_entry *zend_ce_iterator;
+extern struct _zend_class_entry *zend_ce_arrayaccess;
+//extern struct _zend_class_entry *zend_ce_serializable;
/**
* Set up namespace
@@ -43,36 +46,13 @@ public:
*/
Class(const char *name) : ClassBase(name)
{
- // check for special classes
- if (std::is_base_of<Countable, T>::value)
- {
- // register the interface (we register a pointer-to-a-pointer here,
- // because when this code runs (during the get_module() call), the
- // interfaces are not yet initialized by the zend engine, this
- // happens later when the all classes are registered (after the
- // get_module() call)
- interface(&spl_ce_Countable);
-
- // add the count method
- method("count", &T::count, {});
- }
-
- // check for special classes
- if (std::is_base_of<ArrayAccess, T>::value)
- {
- // register the interface (we register a pointer-to-a-pointer here,
- // because when this code runs (during the get_module() call), the
- // interfaces are not yet initialized by the zend engine, this
- // happens later when the all classes are registered (after the
- // get_module() call)
- interface(&spl_ce_ArrayAccess);
-
- // add the count method
- method("count", &T::offsetSet);
- method("count", &T::offsetGet);
- method("count", &T::offsetUnset);
- method("count", &T::offsetExists);
- }
+ // check for special classes, and register the interface if it does
+ // register the interface (we register a pointer-to-a-pointer here,
+ // because when this code runs (during the get_module() call), the
+ // interfaces are not yet initialized by the zend engine, this only
+ // happens later when the all classes are registered (after the
+ // get_module() call)
+ if (std::is_base_of<ArrayAccess, T>::value) interface(&zend_ce_arrayaccess);
}
/**